Java TomCat冻结了flex3调用

Java TomCat冻结了flex3调用,java,apache-flex,tomcat,Java,Apache Flex,Tomcat,您好,我在使用ApacheTomcatV6.0.29时遇到问题 问题 我的应用程序使用ApacheTomcat进行java flex通信。。。大多数时候一切都很好。。。但有时当我从Flex3调用java函数时(这个函数在大多数情况下都可以正常工作)。。。雄猫冻僵了 示例(编辑) 1-启动tomcat(工作) 2-运行flex程序(works) 3-调用java函数downloadLiveViewPicture()(非常有用) 。。。 我从相机上下载了很多实时视图图片,然后拍照,然后重新开始实时视

您好,我在使用ApacheTomcatV6.0.29时遇到问题

问题

我的应用程序使用ApacheTomcat进行java flex通信。。。大多数时候一切都很好。。。但有时当我从Flex3调用java函数时(这个函数在大多数情况下都可以正常工作)。。。雄猫冻僵了

示例(编辑)

1-启动tomcat(工作)

2-运行flex程序(works)

3-调用java函数downloadLiveViewPicture()(非常有用)

。。。 我从相机上下载了很多实时视图图片,然后拍照,然后重新开始实时视图下载,everuthing工作正常。。。我从JavaLileTakePicture()调用函数,或者从数据库中执行JavaSQL查询。。。

4-做点别的。。。(工程)

5-调用相同的java函数(有时有效,有时无效) 当我转到flex应用程序的主视图时,我会尝试重新启动下载,但不会发生任何事情,即使我在这一点上使用的程序与我在第3点上使用的程序相同

环境

后端Java 前端柔性应用 在tjhe:apachetomcatv6.0.29之间

解决方案尝试

我尝试关闭tomcat并在再次调用Java函数(示例的第5步)后重新打开它,但这个解决方案并不可行。 至少我想使用一个java方法来关闭并重新打开tomcat。我试过使用taskkill comand,但它不起作用

我意识到的另一件事是,如果我在从flex调用java函数之前等待一分钟。。。函数工作的可能性更大


谢谢

您是否在服务器中使用来自Java的本机API?可能是每次调用该方法时,您都在初始化本机API,而该初始化导致tomcat失败。

最终找到问题:

我使用的摄像头同时只支持一个会话,当我从Flex应用程序调用TomCat时,TomCat会创建新的java线程。因此,如果另一个线程与cam交互,则希望与cam交互的每个线程都会冻结TomCat

买一个好男人说:“如果你发现了问题,你几乎找到了解决办法。”


因此,我必须处理一个会话问题…

您需要提供更多信息。这个Java函数在做什么,您是否在日志中得到任何错误输出。你能发布Java函数代码吗?@KevinD好的,谢谢你的评论。。。java函数正在与摄影机交互。。。我在日志中没有得到与此问题相关的任何输出。Tomcat被冻结了,什么也没发生……Matias,我怀疑我能否回答你的问题,所以我只是想获取更多flex/Tomcat经验的人需要的信息。我怀疑他们是否能够在没有看到至少部分代码的情况下帮助您。目前,你的问题可以总结为“有时有些东西不起作用。”试着把你的问题读给自己听,试着把自己放在一个从未见过你的代码的人的位置上。现在你想知道什么信息来尝试诊断这个问题?运行你的应用程序,打开jconsole,连接到tomcat,看看它挂在哪里,瞧,你知道问题在哪里。它随你的JDK安装而来,查看安装JDK的bin目录,其中将有一个jsoncole可执行文件。是的,我使用的是本机API,但我不是每次都初始化它,所以我仍在尝试处理这个问题。我读了一些关于使java方法sicronized的文章,但我不知道它是否在某种程度上有所改进。我还听说Thread.sleep()方法可以使所有方法都冻结,但我不确定它是否正确。。。