我正在尝试使用@EJB注释注入EJB:
EJB在调用方法“
sayHello”期间引发了意外的(未声明的)异常。异常数据:javax.ejb.EJBException:注入失败;嵌套的异常是:com.ibm.ejs.container.EJBNotFoundException:应用程序myapp1中不存在具有接口com.mycompany.myapp.ejb.test2的EJB。
我正在使用WebSphere 7和EJB 3.0。当我自己进行jndi查找时,它工作正常。如何让容器知道从哪里注入远程bean?
myapp1.ear包含以下内容:myapp1.jar(EJB所在的位置)
myapp1 EJB:
package com.mycompany.myapp1.ejb.test1;
@Remote
public interface HelloEjb1 {
public String sayHello();
}
EJB Impl:
package com.mycompany.myapp.ejb.test1;
@Stateless
public class HelloEjbImpl1 implements HelloEjb1 {
@EJB
HelloEjb2 helloEjb2;
@Override
public String sayHello() {
return HelloEjb2.sayHello();
}
}
myapp2.ear包含以下内容:myapp2.jar(EJB所在的位置)
myapp2 EJB:
package com.mycompany.myapp2.ejb.test2;
@Remote
public interface HelloEjb2 {
public String sayHello();
}
EJB Impl:
package com.mycompany.myapp2.ejb.test2;
@Stateless
public class HelloEjbImpl2 implements HelloEjb2 {
@Override
public String sayHello() {
return "Hello";
}
}
指定部署应用程序(当结合1,2),或包括META-
INF / IBM-EJB-JAR-
bnd.xml
在客户机(myapp1)EJB模块。它看起来像这样:
<ejb-jar-bnd
html" target="_blank">xmlns="http://websphere.ibm.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ejb-jar-bnd_1_0.xsd"
version "1.0">
<session name="HelloEjbImpl1">
<ejb-ref name="com.mycompany.myapp.ejb.test1/helloEjb2"
binding-name="myapp2/myapp2.jar/HelloEjbImpl2#com.mycompany.myapp1.ejb.test1.HelloEjb1"
</session>
</ejb-jar-bnd>
ejb-ref name="..."
如果使用,可以简化@EJB(name="myrefname")
。如果myapp2.jar包含带有<interface class="..." binding-name="..."/>
元素的类似绑定文件,则可以简化绑定名称。
问题内容: 我确信你们中有人注意到,如果您有Acrobat Reader(或其他PDF阅读器),并在Firefox中打开一个PDF,您会看到它嵌入在您的标签中。有什么方法可以将应用程序嵌入JFrame中? 问题答案: 这是一个相当棘手的问题。通常,诸如Adobe Reader之类的本机应用程序不提供可以嵌入到swing应用程序中的组件。但是在Windows中,有COM / OLE方法可以将应用程序
问题内容: 我需要从另一个“容器”类启动一个Javafx应用程序,并在该应用程序上调用函数,但是似乎没有任何方法可以使用Application.launch()方法来获取对该应用程序的引用。这可能吗?谢谢 问题答案: 我遇到了同样的问题,并使用此hack解决了这个问题: 然后是您要从中启动应用程序的类: 希望对您有帮助。
问题内容: 我有2个项目,其中一个包含在另一个构建路径中,两个项目都有自己的应用程序上下文来定义他的bean。 我想管理全局事务,因此我必须在一个应用程序上下文中同时导入这两个事务,但是我没有找到做到这一点的方法。 在不同的项目中可能有2个应用程序上下文,并将其中一个导入另一个。 如果没有可能,那将是最佳解决方案? 我认为成为1中的2个项目。 问题答案: 是的,可以导入;在您的一个appconte
我正在开发两个应用程序。让第一个应用程序是APP1,第二个应用程序为APP2。现在在APP1中,我不提供任何用户权限,如INTERNET权限,但它将发送任何http url,如http://www.google.com我的第二个APP2将包含INTERNET等用户权限。Http请求将从APP1发送到APP2,APP2将响应该请求,然后将结果发送回APP1。最后APP1包含一个Web视图以显示结果。
问题内容: 我有一个单独模块的工厂,我想将其注入模块的提供程序中,但是却不断收到未知的提供程序错误。我究竟做错了什么? 我想注入的是: 我试图注入的地方: 导致 问题答案: 我认为是因为所有提供程序都在工厂之前实例化,因此提供程序仅需依赖其他提供程序。 作为一种解决方法,我正在使用创建模块的方法。一个可以完成您想完成的任务的插件:http ://plnkr.co/edit/g1M7BIKJkjSx
我的AWS lambda项目结构如下: 是带有