Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使EJB3.1绑定默认为接口而不是类名_Java_Java Ee 6_Ejb 3.1 - Fatal编程技术网

Java 使EJB3.1绑定默认为接口而不是类名

Java 使EJB3.1绑定默认为接口而不是类名,java,java-ee-6,ejb-3.1,Java,Java Ee 6,Ejb 3.1,束缚 @Singleton public class DummySentenceManager implements SentenceManager { 我希望它绑定到: [java:global/appname/mypkg.DummySentenceManager, java:global/appname/mypkg.DummySentenceManager!mypkg.SentenceManager] 不诉诸: [java:global/appname/mypkg.SentenceMan

束缚

@Singleton
public class DummySentenceManager implements SentenceManager {
我希望它绑定到:

[java:global/appname/mypkg.DummySentenceManager, java:global/appname/mypkg.DummySentenceManager!mypkg.SentenceManager]
不诉诸:

[java:global/appname/mypkg.SentenceManager]

谢谢

您为什么希望它像那样绑定?无论如何,EJB在模块名称中必须是唯一的,因此没有理由用包限定名称。另外,
java:global
绑定的全部要点是它们不能以这种方式进行定制:它们遵循严格且可预测的模式


(值得一提的是,
在XML中根据XSD指定时不是ejb名称的有效名称。如果您因此在ejb实现中遇到问题,我不会感到惊讶。)

如果我不这样做,如何对任何实现SentenceManager接口的EJB执行JNDI查找?没有仅通过接口查找EJB的标准机制。如果您在应用程序中的某个地方定义了
@EJB(name=“java:app/EJB/mypkg.ServiceManager”,beanInterface=mypkg.ServiceManager.class)
,那么您可以使用
new InitialContext().lookup(“java:app/EJB/mypkg.ServiceManager”)
@Singleton(name="mypkg.SentenceManager")
public class DummySentenceManager implements SentenceManager {