我正在启动一个新的企业项目,并将Glassfish 3
用作应用程序服务器,将NetBeans 6.9
用作IDE
。我有一些EJBs
我想从桌面Swing
应用程序远程访问。 AFAIK有两个选项 - 使用普通JNDI
查找或在应用程序客户端容器中运行Swing
应用程序并使用@EJB
注释。我成功尝试了第一个选项,但我必须复制所有glassfish
库以满足依赖关系(大约50MB,我认为不正常)。现在我尝试第二个选项。在NetBeans
中,我创建了一个新的Enterprise Application Client
项目,将EJB项目添加为依赖项并按下运行。我收到以下异常:Sniffers with type [ejb] and type [appclient] should not claim the archive at the same time
。现在,如果我删除package
复选框,在应用程序客户端的Project属性中的EJB项目旁边,我得到了远程接口的不同ClassNotFound
异常。
我觉得有点困惑:(可能是一些经验丰富的人,告诉我他们如何使用Glassfish 3
远程访问他们的EJB?正如我上面所写,我成功了第一个选项,但50MB也是对于一个简单的客户来说,我认为很多。
编辑:如果远程服务器上的ejbs
中有业务逻辑,您会选择从客户端进行部署和远程访问的方法是什么?
感谢您的任何建议!
祝你一切顺利,Petar
答案 0 :(得分:1)
我认为在您的情况下,最好的方法是在服务器中创建一个Servlet(或其他一些简单的组件),让这个人与您的EJB交谈。如果选择这种情况,您将隔离客户端/服务器通信和业务逻辑实现。