2011-01-24 41 views
0

更新+解决方案============================ ===在Solaris上加载Apache APR库时,Solaris上的Flash SWF不会加载

对不起,在这里发布的解决方案,而不是在评论中,但关于我的工作过滤的东西不允许评论功能为我工作。

我最终在jboss中使用-b 0.0.0.0属性来绑定到所有地址,所以我可以尝试访问机器A的服务器,并将机器B作为客户端,反之亦然。我发现在机器B上运行时总是无法加载,无论我是否从A或B连接。

我在同一网络上的Windows机器上启动wireshark,并观察到正在加载的TCP连接网页。我发现在失败的情况下,.swf的请求的内容长度为200万左右,当我右键单击wireshark日志并选择“查看对话”或类似的内容时,总会话的大小得到.swf文件只有13万。回顾一下:缓存,这大约等于它在页面上显示“完成”之前最终缓存的内容。

我最终发现useSendFile属性存在一个错误。 (http://community.jboss.org/thread/148651?tstart=0)。这会导致它只在内核内存不足的情况下才发送文件的一部分。在我们的server.xml中使用useSendFile =“false”似乎可以解决问题。

============================================== ====

原来的问题

我有一个JBoss(5.1.0.GA)应用服务器。我正在使用GraniteDS连接应用程序服务器和客户端。客户端是基于闪存的。

花岗岩DS需要使用APR库(apache本地库),所以我加载它。我在JBoss日志中看到它说它已经加载了apache本地库(版本1.18,尽管我也试过了1.20)。

问题是,当我有它,所以APR库加载成功,然后通常不加载应用程序的Flash端。我将不得不重新刷新一次,最终通常会加载,但通常我会看到一个黑色的网页,上面写着“完成”或加载进度条从不移动。只有重复点击刷新才能加载页面。它最终会通过刷新足够的负载来进行加载,但它并不一致,这显然对于我们的客户每次都必须清除浏览器的缓存不起作用。

此问题仅在Solaris上存在,我们的应用程序在Windows上正常工作。我们已经尝试了多个solaris修补程序级别,并且已经使用“ldd”命令验证了需要加载的库在其中具有所有依赖关系。

我们通过测试验证它不是我们的swf文件大小: 1)我们的常规SWF(1660 kb)。 2)随机大型SWF(950kb)。 3)一个带有一个标签组件的小型SWF,其中包含“Test”(277 kb)。

当JBoss也加载本地库时,所有3个都无法加载,并且在没有它的情况下加载得很好。我们需要本地库成功加载Granite以在客户端和服务器之间进行连接,所以不加载它不是一个选项(除非有某种方式可以使用NIO连接器与JBoss,但它似乎不受支持)....如果有办法使用NIO连接器,那么我们不需要APR库。

有没有人碰到过这个?任何人有任何想法或建议?

+0

您正在创建新的基于cookie的帐户;这就是为什么你不能评论或编辑你的问题。我合并了你的两个帐户。请考虑注册。如果您无法注册此帐户,请创建一个新帐户,标记此问题以获得mod注意,并要求将您的新帐户与此帐户合并。 – Will 2011-02-01 14:36:17

回答

0

您是否尝试过用于Solaris的jboss本机库?

http://www.jboss.org/jbossweb/downloads/jboss-native-2-0-9.html

+0

是的,我没有运气。我已经为solaris尝试了版本1.18和1.20。请注意,您提供的链接中的2.0.9实际上并不对应于版本号,2.0.9相当于本地库的v1.20。而且,它确实表示该库已成功加载。这是当它不加载的Flash文件加载正确。当加载本机库时,flash文件并不总是加载。我正在使用solaris版本的库 - 如果我不是,它们将不会成功加载。 – Alyssa 2011-01-25 14:15:44