web应用在JBOSS5中调用EJB3组件出了问题,求教
我使用的是JBOSS5.0.0GA版本,新做了一个EJB3.0的例子,无状态会话BEAN,并且是成功部署到JBOSS容器里面,理由是:我在启动JBOSS时候看到服务器去识别了部署的EJB组件。我的组件写法是:
接口:
@Remote
public interface GreeterRemote {
public String greet(String message);
public List<Greeting> getAllGreetings();
}
实现:
@Stateless(mappedName = "greeter")
public class Greeter implements GreeterRemote {
......略
没贴出的部分是包名还有Greeting的引用,这个保证都是有的。
然后,我在JBOSS另外建了个WEB工程,写了个页面调用servlet,问题是出在这里:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Properties prop = new Properties();
// 设置相关的属性值
prop.setProperty(Context.PROVIDER_URL, "127.0.0.1:1099");
prop.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
prop.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
InitialContext ctx = new InitialContext(prop);
// 开始调用Greeter接口的方法
Greeter greeter = (Greeter) ctx.lookup("Greeter/remote");
这个时候,编译出错,Greeter说找不到,project和EJB组件是在同一个JBOSS里面,接下来运行web工程的时候,这个错误就以500的形式出现了。
请问下,如果组件部署在JBOSS容器里,如何让同一容器的WEB应用能调用到组件里的服务,也谷歌过相关内容,只是贴出个客户端调用的代码给你,中间一些东西都没怎么说。特来请教,希望能给予解答,谢谢。
[解决办法]
补充一下,尝试过eclipse中的快捷键import,确实找不到远程的会话BEAN。
我的开发环境是:jboss5.0.0ga+eclipse3.4.2+ejb3.0