0
A
回答
1
是的,他們可以。
例子:
public interface NodeService {
public void start();
}
先執行:
import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Stateless;
@Stateless
@Remote(NodeService.class)
public class NodeService1 implements NodeService {
@Override
public void start() {
}
}
其次實行:
import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Stateless;
@Stateless
@Remote(NodeService.class)
public class NodeService2 implements NodeService {
@Override
public void start() {
}
}
參見:
1
當然可以。
您可以通過任意數量的bean實現任何接口(本地和遠程),但是您需要指定要注入哪些特定的bean。
對於簡單的例子,你可以使用beanName
屬性:
@Remote
public interface Worker {}
//
@Stateless(name = "firstBean")
public class Bean1 implements Worker {}
//
@Stateless(name = "secondBean")
public class Bean2 implements Worker {}
//
@Stateless
public class LogicBean {
@EJB(beanName = "firstBean")
private Worker worker1;
@EJB(beanName = "secondBean")
private Worker worker2;
}
您也可以通過mappedName
屬性與jndi names
玩。
參見:
相關問題
- 1. 如何實現從遠程無狀態會話bean的接口?
- 2. 創建兩個實現相同接口的bean
- 3. 的Spring bean實現兩個接口
- 4. EJB 3同一接口的多個無狀態會話Bean實現
- 5. 具有本地/遠程接口的無狀態會話Bean
- 6. EJB 3.1會話Bean上的JAX-RS只有遠程接口
- 7. 哪個實現相同的接口
- 8. MvvmCross:與Decorator模式的IoC,相同接口的兩個實現
- 9. 合併兩個實現相同接口的類的列表
- 10. 可能將相同的有狀態會話bean實例注入到多個其他會話bean中?
- 11. 類實現兩個接口定義相同的方法
- 12. Java類中實現相同方法簽名的兩個接口
- 13. 斯卡拉實現兩個接口有相同的方法名
- 14. 使用相同方法實現兩個接口的類?
- 15. 當兩個類實現相同的接口
- 16. 會話Bean除SB接口外還可以實現其他接口嗎?
- 17. 不同項目中的Bean接口和Bean實現
- 18. 爲實現相同的接口
- 19. 相同的接口,實現差異
- 20. 創建實現相同的接口
- 21. 會話bean和實體bean?
- 22. 向兩個其他bean注入相同的bean實例
- 23. 訪問遠程/本地會話Bean
- 24. 比較兩個實現相同/相等接口的對象 - 設計幫助
- 25. 讓兩家工廠返回實現兩個接口相同的對象
- 26. 什麼是spring bean的bean ID實現了一個接口
- 27. 對服務器和遠程JMX bean使用相同的端口
- 28. 實體類的會話Bean錯誤消息:「EJB遠程接口依賴於JPA實體類...」
- 29. PostgreSQL從兩個不同的應用程序連接到相同的會話
- 30. 實現相同服務合同接口的多個WCF服務
用'mappedName'可以在主機動態地從一個經紀人加載庫?也就是說,圖書館只在經紀人身上。任何使用該庫的主機都可以通過JNDI查找來找到它。這甚至有可能嗎? – Thufir 2015-03-11 08:42:23
@Thufir,我不明白你的問題。你能重新表達一下嗎? – ar4ers 2015-03-11 12:05:59
主機和代理在不同的系統上,不同的JVM的。主機使用JMS與代理進行通信。該圖書館僅**經紀人。客戶端位於主機上,需要該庫。客戶端能否使用JNDI加載或查找庫? (可能不是。) – Thufir 2015-03-11 12:15:39