Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WAR文件中的BlazeDS和Java类_Java_Apache Flex_Class_Blazeds_War - Fatal编程技术网

WAR文件中的BlazeDS和Java类

WAR文件中的BlazeDS和Java类,java,apache-flex,class,blazeds,war,Java,Apache Flex,Class,Blazeds,War,嗨,我有一个java类,它作为WAR web应用程序部署在JBOSS上的BlazeDS/Spring服务器中 除了访问WAR文件的Flex应用程序之外,我还需要启动一些服务器端进程,通过AMF消息传递将BlazeDS“推送”到Flex客户端 实现此服务器端进程的最佳方法是什么? -它是否应该是一个在WAR文件中具有main()方法的类,该方法从命令行调用?可以这样做吗?不确定是否可以从命令行运行WAR文件中的类? -它是否应该是一个在JAR文件中具有main()方法的类,并从命令行调用 不确定这

嗨,我有一个java类,它作为WAR web应用程序部署在JBOSS上的BlazeDS/Spring服务器中

除了访问WAR文件的Flex应用程序之外,我还需要启动一些服务器端进程,通过AMF消息传递将BlazeDS“推送”到Flex客户端

实现此服务器端进程的最佳方法是什么? -它是否应该是一个在WAR文件中具有main()方法的类,该方法从命令行调用?可以这样做吗?不确定是否可以从命令行运行WAR文件中的类? -它是否应该是一个在JAR文件中具有main()方法的类,并从命令行调用

不确定这里的标准做法是什么。关键是这个过程需要在BlazeDS服务器上启动,以将数据推出(而不是在Flex客户端上)

他会报答任何帮助吗
Mike首先,您是否正在使用最新的Spring/BlazeDS集成?如果没有,我强烈建议你去看看。它可以大大简化推送消息的消息目的地设置。它还允许您使用JMS和Spring集成消息目的地,以及集成Spring安全性(如果您选择)

现在回答你的问题。您的数据推送服务的生命周期要求是什么?您是否希望能够从其他类控制此数据推送的参数(即启动和停止、频率等)?使用Spring创建此服务将允许您将其注入到其他bean中,以便根据需要进行控制

我目前有一个类似的用例,我使用BlazeDS消息目的地将遥测数据“推送”到客户端浏览器。我设置了一个“服务”类,它被Spring实例化为一个单例实例

如果您不需要此单例的外部控制,那么我建议您使用带注释的@PostConstruct或“init”方法来创建线程,并使用表示主循环的匿名Runnable启动它。如果您的服务需要按预先定义的频率来推送数据,您可能会考虑JavaUTI.CONCURNT.ToePosieCutoService。 无论哪种方式,您都需要设置一个带注释的@PreDestory或“destroy”方法,该方法将在单例实例销毁之前执行。这将允许您插入代码来安全地停止循环线程或ScheduledFuture,并在Spring容器关闭之前清理任何必要的资源

如果希望进一步与服务交互,可以使用服务接口从其他类(如Web控制器等)对其进行操作。让您的类实现此接口,并使用此接口将您的类注入其他类。对于更大胆的解决方案,您可以考虑使用DM服务器或另一个OSGi容器并创建OSGi服务。
如果您需要有关此过程的进一步帮助,或者我可以进一步说明具体细节,请告诉我。

马歇尔您的a星-谢谢

我正在使用Spring@PostConstruct,这是一种享受。似乎Spring正在自动实例化监控类,然后调用@PostConstruct方法

我还必须在Spring配置文件中包含以下内容才能使其正常工作:

xmlns:context=springframework.org/schema/context springframework.org/schema/context springframework.org/schema/context/spring-context-2.5.xsd

在@PostConstruct方法中,我实现了一个简单的java.util.Timer,它定期将数据推送到Flex客户端。(我仍然需要通过Spring将其设置为一个单件-我有点像Spring新手!)

ScheduledExecutorService是否为我提供了计时器类之外的任何好处

再次感谢 当做 迈克尔