Apache flex Solaris上的Flash SWF在JBoss中加载Apache APR库时不会加载

Apache flex Solaris上的Flash SWF在JBoss中加载Apache APR库时不会加载,apache-flex,flash,jboss,graniteds,apr,Apache Flex,Flash,Jboss,Graniteds,Apr,更新+解决方案=============================== 很抱歉在这里发布解决方案,而不是在评论中发布,但我的工作筛选的某些内容不允许评论功能对我起作用 我最终使用jboss中的-b0.0.0.0属性绑定到所有地址,因此我可以尝试使用机器b作为客户端访问机器A的服务器,反之亦然。我发现它在机器B上运行时总是无法加载,无论我是否从A或B连接 我在同一网络上的windows计算机上启动wireshark,并观察到加载网页的TCP连接。在失败的情况下,我看到对.swf的请求的内容长

更新+解决方案===============================

很抱歉在这里发布解决方案,而不是在评论中发布,但我的工作筛选的某些内容不允许评论功能对我起作用

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

我在同一网络上的windows计算机上启动wireshark,并观察到加载网页的TCP连接。在失败的情况下,我看到对.swf的请求的内容长度约为200万,当我右键单击wireshark日志并选择view conversation或类似的内容时,获取.swf文件的总对话大小仅为130000。看看about:cache,这大约等于在页面上说Done之前它最终缓存的内容

我最终发现useSendFile属性有一个bug。http://community.jboss.org/thread/148651?tstart=0. 这会导致在内核内存不足时,它只发送部分文件。在server.xml中使用useSendFile=false似乎解决了这个问题

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

原始问题

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

Granite DS需要使用APR库apache本机库,因此我正在加载它。我在JBoss日志中看到,它说它加载了apache本机库1.18版,不过我也尝试了1.20版

问题是,当我成功加载APR库时,应用程序的闪存端通常不会加载。我将不得不多次点击“刷新”,最终它通常会加载,但通常我会看到一个黑色网页,上面写着“完成”,或者加载进度条永远不会移动。只有反复点击刷新才能加载页面。它最终会通过点击“足够刷新”来加载,但并不一致,这显然不适用于我们的客户,因为他们每次都必须清除浏览器的缓存

这个问题只存在于Solaris上,我们的应用程序在Windows上运行良好。我们已经尝试了solaris的多个修补程序级别,并使用ldd命令验证了需要加载的库是否具有所有依赖项

我们已经通过测试验证了这不是我们的swf文件的大小: 1我们的常规SWF 1660 kb。 2一个随机大的ish SWF 950 kb。 3带有一个标签组件的小型SWF,表示测试277KB

当JBoss也在加载本机库时,所有3个都无法加载,没有本机库也可以正常加载。我们需要成功加载本机库,Granite才能在客户端和服务器之间连接,因此不加载本机库不是一个选项,除非有某种方法可以将NIO连接器与JBoss一起使用,但它似乎不受支持。。。。如果有办法使用NIO连接器,那么我们就不需要APR库


以前有人碰到过这个吗?有人有什么想法或建议吗?

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


是的,不过我运气不好。我已经在solaris上试用了1.18和1.20版本。请注意,您给出的链接中的2.0.9实际上并不对应于版本号,2.0.9相当于本机库的v1.20。而且,它确实表示库已成功加载。只有在未加载闪存文件时,闪存文件才会正确加载。加载本机库时,闪存文件并不总是加载。我正在使用solaris版本的库-如果我不这样做,它们将无法成功加载。我应该补充一点-我还尝试更新Granite版本,并将其与本机库的v1.20结合使用。还是没有运气。我不相信有任何solaris特定于granite,但我肯定知道我有solaris sparc版本的库。在JBossVM参数中添加了一些日志语句之后,我看到它一直工作,但这只在一台机器上。另一方面,作为一个功能更强大的服务器,它仍然会失败。不过,所有语句都是日志,所以我想知道是否有某种竞争条件导致了这个问题。今天我进一步研究了这个问题,发现它没有加载的所有请求都是状态为206部分内容的HTTP响应。它成功加载的所有HTTP状态都是200。因为它有时会加载,这让我相信这是flash或flash player的问题,而不是granite或本机库的问题。使用部分内容消息在Flash上搜索信息似乎是一个比较常见的问题 基于ookie的账户;这就是为什么你不能评论或编辑你的问题。我已经合并了你的两个帐户。请考虑注册。如果您无法注册此帐户,请创建一个新帐户,将此问题标记为mod attention,并要求将您的新帐户与此帐户合并。