Nu Echo Rivr中的EJB或CDI(VoiceXML Java库)

时间:2015-09-16 15:27:43

标签: ejb cdi jndi voicexml rivr

我在Rivr对话框中尝试过CDI注入和@EJB注入无状态EJB。它们不起作用。 我也尝试通过全局JNDI名称对EJB进行JNDI查找,但是我得到了以下错误(注意我使用的是java:global但是我得到了这个消息):

无法完成对java:comp / env名称的JNDI操作,因为当前线程未与Java Enterprise Edition应用程序组件关联。当使用java:comp / env名称的JNDI客户端未出现在服务器应用程序请求的线程上时,可能会发生此情况。确保Java EE应用程序不在静态代码块中的java:comp / env名称或该应用程序创建的线程中运行JNDI操作。此类代码不一定在服务器应用程序请求的线程上运行,因此不受JNDI对java:comp / env名称的操作的支持。

无论如何我可以在Rivr对话框中注入或定位CDI @Named或EJB吗?

感谢 伊格纳西奥

1 个答案:

答案 0 :(得分:1)

我检查了Rivr cookbook中的Spring示例,发现DialogFactories是在ServletThread中执行的。这使我能够成功使用Global JNDI名称执行标准JNDI查找,并将EJB传递给正在创建的Dialog。

Rivr团队通过电子邮件证实了这一点,我现在正以这种方式成功访问EJB。

我无法执行标准的@Inject或@EJB注射,但JNDI"传统"解决方案对我有用。