Java 客户端应用程序中的EJB远程接口
我从EJB开始,遇到了一个问题: 我受youtube上的这个图坦卡蒙的指引- (用法语写的,但没关系) 所以基本上tut(我也是)所做的就是创建一个EJB项目,创建一个无状态会话Bean(MyBean)和一个远程接口(MyBeanRemote),用一个简单的方法返回一个字符串 他还创建了动态web项目,并在servlet doGet方法中使用以下代码来调用bean方法:Java 客户端应用程序中的EJB远程接口,java,ejb-3.0,Java,Ejb 3.0,我从EJB开始,遇到了一个问题: 我受youtube上的这个图坦卡蒙的指引- (用法语写的,但没关系) 所以基本上tut(我也是)所做的就是创建一个EJB项目,创建一个无状态会话Bean(MyBean)和一个远程接口(MyBeanRemote),用一个简单的方法返回一个字符串 他还创建了动态web项目,并在servlet doGet方法中使用以下代码来调用bean方法: Context con = new InitialContext(); Object ob = con.lookup("MyB
Context con = new InitialContext();
Object ob = con.lookup("MyBean/remote");
if(ob != null){
MyBeanRemote bean = (MyBeanRemote) ob;
// And then prints out the returned value from the method
}
但问题是,我在客户端项目中没有可用的MyBeanRemote接口。他是怎么得到的?(视频5:17)t如果您是一个基于maven的项目,您可以通过在pom.xml文件中添加一个插件来生成客户端jar,如下所示
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<configuration>
<generateClient>true</generateClient>
<clientIncludes>
<clientInclude>**/*Local.class</clientInclude>
<clientInclude>**/*Remote.class</clientInclude>
<clientInclude>**/*Exception.class</clientInclude>
</clientIncludes>
</configuration>
</plugin>
</plugins>
</build>
org.apache.maven.plugins
maven ejb插件
真的
**/*本地类
**/*远程类
**/*异常类
t如果您的项目是基于maven的项目,您可以通过向pom.xml文件添加插件来生成客户端jar,如下所示
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<configuration>
<generateClient>true</generateClient>
<clientIncludes>
<clientInclude>**/*Local.class</clientInclude>
<clientInclude>**/*Remote.class</clientInclude>
<clientInclude>**/*Exception.class</clientInclude>
</clientIncludes>
</configuration>
</plugin>
</plugins>
</build>
org.apache.maven.plugins
maven ejb插件
真的
**/*本地类
**/*远程类
**/*异常类
正如您在2:47分钟看到的,他在服务器中部署了EJB(包括接口)。因此,您无需显式地将其添加到项目中(这就是远程bean的概念)。因此,您只需要知道名称的接口(“MyBean/remote”)即可进行查找。然后容器将解析并找到实现该接口的正确对象
这是一种使用EJB的方法,稍后您可以看到您可以使用本地接口,甚至可以使用无接口视图。也许你在想“远程到什么?”本地到什么。。。到JVM(通常)。您仍然可以对同一JVM中的EJB进行远程调用(因为其他服务器中存在具有EJB的JVM),这比本地/无接口调用的成本更高
然后,这个基本概念通常被用作:依赖项注入,其中只描述接口的对象(加上@EJB注释),容器将找出合适的对象
要了解有关何时选择本地与远程的更多信息,请参阅本文:
正如您在2:47分钟看到的,他在服务器中部署了EJB(包括接口)。因此,您无需显式地将其添加到项目中(这就是远程bean的概念)。因此,您只需要知道名称的接口(“MyBean/remote”)即可进行查找。然后容器将解析并找到实现该接口的正确对象 这是一种使用EJB的方法,稍后您可以看到您可以使用本地接口,甚至可以使用无接口视图。也许你在想“远程到什么?”本地到什么。。。到JVM(通常)。您仍然可以对同一JVM中的EJB进行远程调用(因为其他服务器中存在具有EJB的JVM),这比本地/无接口调用的成本更高 然后,这个基本概念通常被用作:依赖项注入,其中只描述接口的对象(加上@EJB注释),容器将找出合适的对象 要了解有关何时选择本地与远程的更多信息,请参阅本文:
在客户端项目中包含包含接口的jar。是的,我知道了,但视频作者如何引用接口?他没有包括任何JARS。我没有访问教程链接,但我猜EJB和客户端应用程序是EAR的一部分,或者通过单个应用程序进行了说明。在客户端项目中包括包含接口的jar。是的,我知道了,但视频作者如何引用接口?他没有包含任何jarsI没有访问过教程链接的内容,但我猜EJB和客户机应用程序是EAR的一部分,或者通过单个应用程序进行了说明。