我有jbossesb-server-4.11和eclipse-jee-juno。 我想创建一些简单的EJB应用程序,将其部署在服务器上并从客户端调用一些方法。一切似乎都很清楚。 我在这里找到了一个简单的Hello world应用程序:https://sites.google.com/a/thedevinfo.com/thedevinfo/Home/jboss/jboss-application-server/ejb3-session-bean-tutorial-using-jboss-and-eclipse。 我做了同样的事情,我也尝试从这个网站下载这个例子,但它对我不起作用。 我在Eclipse中创建了JBoss服务器,然后在这台服务器上运行我的ejb应用程序,然后我试着以这种方式获取我的bean:
InitialContext ctx = new InitialContext(props);
MyBeanRemote bean = (MyBeanRemote) ctx.lookup("MyBean/remote");
但我有以下错误:“javax.naming.NameNotFoundException:MyBean未绑定”。 这是我在ejb项目中的简单代码:
@Remote
public interface MyBeanRemote extends IMyBean{}
@Local
public interface MyBeanLocal extends IMyBean {}
@Stateless
public class MyBean implements MyBeanLocal, MyBeanRemote {
public void doSomething() {
System.out.println("Hello World!");
}
}
请告诉我哪里错了?
答案 0 :(得分:1)
看起来独立jbossesb-server
是非常狭隘的专业产品。它提供特定于ESB的功能,但缺乏EJB支持。
您的测试应用程序在vanilla JBossAS 4.2.3.GA
上部署并运行良好(AS 4.2.3是我认为jbossesb-server-4.11
的基础)。
如果您必须使用ESB,我建议安装JBoss ESB作为普通JBoss 4.2.3.GA
的扩展,或者更新的5.x,6.x系列(尚不支持AFAIK 7.x)。为此,您需要下载jboss-4.2.3.GA
和jbossesb-4.11.zip
而不是jbossesb- 服务器 -4.11.zip。然后,您需要按照this条说明操作。
请注意有两个版本的JBossAS 4.2.3
:
jboss-4.2.3.GA.zip
- 适用于JDK5 jboss-4.2.3.GA-jdk6.zip
- 适用于JDK6 + 5.x系列也是如此(6.x和7.x需要JDK6 +)。
另一个选择是使用完整的商业SOA解决方案:RedHat的SOA Platform
。虽然它并不便宜。