java-EJB,两个应用程序服务器之间的远程处理(glassfish)
作者:互联网
我想通过@EJB注释将主机A中的bean Foo注入到主机B中的bean Bar.
这两个主机都是Glassfish-v3的独立实例.
在阅读Glassfish文档时,我发现了很多信息,其中有些听起来有些矛盾.
我知道每个bean都有一个全局的jndi分配给它,并了解了它的构造方式,即What is the syntax for portable global JNDI names?.我还了解到Bar中Foo的声明应该是这种类型(假设FooRemote是Foo和fooejb是其模块):@EJB(lookup = java:global / fooejb / FooRemote)FooRemote foo,它基于this.
我不明白的是,我告诉主持人A和主持人B互相认识.
我看到了很多有关应用程序客户端和应用程序服务器的示例,但是找不到这种情况的示例.
在this question中提到了sun-web.xml和Global-JNDI,但我认为它不是EJB3.1(因为它不是Portable JNDI),而且我不知道该sun-web.xml应该驻留在哪里(我想如果可以的话可以避免它).
它主要在两个方面有所不同:
>没有-Dorg.omg.CORBA.ORBInitialHost = param选项(据我所知)
>当然,任何解决方案都应包括第三台主机C,A和B出于不同的目的与之通信.
我有一种强烈的感觉,我在这里错过了一些基本的东西,我真的很感谢能指出我所缺少的东西.
顺便说一句,我想尽可能避免使用描述符文件之类的东西,并且将大多数信息保留在注释中,而仅将主机IP保留在服务器中进行配置.
编辑:
我认为这个问题的另一个有趣方面是如何在这方面使用负载平衡,即假设我拥有相同的A1和A2服务器,从B将请求路由到任一A1时如何发生负载平衡或A2
编辑2:
我认为这可能与ejb 3.1无关,但与如何使两个应用程序服务器看到彼此的jndi注册表有关.我认为这与ejb 3.1无关,因为在3.0中存在类似的问题,即全局不可移植jndi.
我可以想象每个应用程序服务器中的一些配置将允许我配置它应查询jndi远程bean的其他“邻居”.
希望能给外面的人一个线索.
谢谢,
伊泰
解决方法:
关于EJB负载平衡,您可能想看一下这个博客:
http://www.techpost.info/2010/12/ejb-load-balancer_7304.html
标签:glassfish,ejb,application-server,java 来源: https://codeday.me/bug/20191023/1912818.html