0
我需要多次部署相同的EJB。每個EJB都有自己的上下文名稱,將其作爲一個獨立的應用程序在Glassfish上進行標識。每個EJB都有自己的持久性單元等。部署多個具有不同持久性的相同EJB
然後我需要從另一個應用程序連接到這些EJB中的每一個。 我不確定如何指定要連接到哪個EJB。
我已閱讀關於遠程接口,但我不知道如何指定和注入所需的正確的EJB。
我需要多次部署相同的EJB。每個EJB都有自己的上下文名稱,將其作爲一個獨立的應用程序在Glassfish上進行標識。每個EJB都有自己的持久性單元等。部署多個具有不同持久性的相同EJB
然後我需要從另一個應用程序連接到這些EJB中的每一個。 我不確定如何指定要連接到哪個EJB。
我已閱讀關於遠程接口,但我不知道如何指定和注入所需的正確的EJB。
不能完全確定,但據我所知,你很可能做到這一點,如果你對bean.Something不同的接口或JNDI名稱像下面可能工作..
import javax.ejb.Remote;
@Remote
public interface HelloWorld{
public void sayHello(String name);
}
import javax.ejb.Stateless;
@Stateless(mappedName=」ejb/HelloWorld」)
public class HelloWorldBean implements HelloWord {
public void sayHello(String name) {
System.out.println(「First .Hello 」 + name + 」 It’s Working!」);
}
}
import javax.ejb.Stateless;
@Stateless(mappedName=」ejb/HelloWorld1」)
public class HelloWorldBean implements HelloWorld {
public void sayHello(String name) {
System.out.println(「Second Hello 」 + name + 」 It’s Working!」);
}
}
這需要我更新每當我需要做一個新的部署時,這個bean。我能想到的唯一的其他解決方案是使用Web服務。通過這種方式,我可以在不同的URL上部署相同的Web服務,然後在我的客戶端中調用正確的URL。 如果我是正確的,這將比使用遠程接口花費更多。但我不確定。 – likenoother 2012-03-27 11:54:56
是的,我的解決方案將要求您爲每個部署更新bean,但是您可以將更改保存到類中,並且只需將jndi名稱移至部署描述符而不是將其與@Stateless註釋一起使用即可更新部署描述符。像這樣的東西 - 看我的下一個評論。 – Prashanth 2012-03-27 13:11:28
' HelloWorldBean EJB/HelloWorld的映射名稱> com.xyz.HelloWorldBean <持久性上下文REF> <持久性上下文REF-名稱> EM /數據庫 persistence-context-ref-name> EntityProviderName persistence-unit-name><! - 在persistence.xml中定義 - > 事務 persistence -context-type> persistence-context-ref> ' –
Prashanth
2012-03-27 13:13:10