相关疑难解决方法(0)

如何从Java EE应用程序发送事件(推送通知)?

我有一个Java EE应用程序,其中模型从各种来源非常频繁地更新.此外,我有一个富客户端应用程序,它通过远程EJB触发一些操作,但也应该至少每秒显示一次模型更改.

将更改从Java EE应用程序发送到Java客户端应用程序的最简单/最佳选择是什么?直到现在我有以下选择:

  1. 每秒从客户端轮询一个远程EJB
  2. 轮询servlet(最好是使用json/xml而不是java对象序列化吗?还有其他的序列化吗?)
  3. websockets(可以在这里发送Java对象吗?或者必须将结果序列化为Json,例如?)
  4. tcp套接字连接(服务器将提供客户端在启动时连接的端口.模型更改通过标准对象序列化发送.这是否在Java EE应用程序中"允许"?)

events client-server java-ee

5
推荐指数
1
解决办法
3961
查看次数

Glassfish应用程序不使用maven库(gf-client)

对于学校作业,我收到了使用JNDI的Netbeans项目和使用Glassfish的JMS(3个开源版本).此应用程序使用的所有Glassfish库都由绝对路径引用,所有其他库(在"lib"文件夹中)由相对路径引用.

由于我的小组正在使用版本控制系统,因此"lib"文件夹包含在存储库中.这很好,因为它是一个小项目.但是Glassfish库存在问题,因为我是Linux用户,其他人是Windows用户.我们通过让Netbeans处理库路径来解决这个问题.

所选择的解决方案"有效",但不是最佳解决方案.我认为Maven会是一个更好的解决方案.

然而,"gf-client"库给出了问题.每当我使用Maven"gf-client"时,应用程序都会抛出异常:

javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
Run Code Online (Sandbox Code Playgroud)

两个库都有"3.1.2"作为版本.库的结构看起来相同,也都是MANIFEST.MF文件.但是两个文件的大小和md5sum不相等.

我已经尝试了所有可以在默认的Maven存储库中找到的"gf-client"库,但都没有.没有其他图书馆给我带来麻烦.

maven-2 jndi jms glassfish

3
推荐指数
1
解决办法
2702
查看次数

标签 统计

client-server ×1

events ×1

glassfish ×1

java-ee ×1

jms ×1

jndi ×1

maven-2 ×1