先声明,本人初学ejb3,问的问题白痴,别拍.
补充一点,问题为100分,如果谁帮我解决,追加100分。
因为我担心这个帖子也会无下文,之前有四个人发过同样的问题。
http://topic.csdn.net/u/20080526/02/1DE6F4F8-B084-4D09-A067-C19CE13CFFBC
http://topic.csdn.net/u/20080911/19/D5342302-8887-4DE9-8CDA-38501D262400
http://topic.csdn.net/u/20081106/10/326AD298-1BA5-44B5-91CD-EDBC79671D5F
http://topic.csdn.net/u/20090115/18/D4D3E1E1-E232-4C5F-90C6-EFED53824D62
我的目的:
http://blog.sina.com.cn/s/blog_5f5fff010100cmc0
这篇帖子里讲述了如何用myeclipse+jboss来配置运行第一个Ejb3的程序,我想完全按照它的步骤做然后做一个测试用例
java编译运行环境正常,jboss版本是4.0.5.GA解压版,myeclipse是6.5
出的错误:
javax.naming.NameNotFoundException: FirstEjbBean not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
…………中间还有一大堆,不看也没关系
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.feiyu.ejb.FirstEjbClient.main(FirstEjbClient.java:12)
主要代码:
=====================>
接口FirstEjb
- Java code
package com.feiyu.ejb;public interface FirstEjb { public String saySomething(String name);}
FirstEjbBean
- Java code
package com.feiyu.ejb;import javax.ejb.Remote;import javax.ejb.Stateless;@Stateless@Remotepublic class FirstEjbBean implements FirstEjb { public String saySomething(String name) { return "Hello, " + name; }}
=====================>
测试类,注意,虽然包名相同,但与上面是位于不同的项目,上面是EJB项目,这里是Java Project(所以采用的是@Remote)
- Java code
package com.feiyu.ejb;import javax.naming.InitialContext;import javax.naming.NamingException;public class FirstEjbClient { public static void main(String args[]) { try { InitialContext context = new InitialContext(); FirstEjb firstEjb = (FirstEjb) context.lookup("FirstEjbBean/remote"); String s = firstEjb.saySomething("xiesisi"); System.out.println(s); } catch (NamingException e) { e.printStackTrace(); } }}
jndi.properties
- Java code
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactoryjava.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfacesjava.naming.provider.url=localhost
补充:
JBoss服务器在Myeclipse内部启动,并通过右键->Add Deployment将EJB项目部署进入JBoss的server/default/deploy/目录
其中部署后目录结构如下:
ejb_01.jar
-----com/feiyu/ejb/FirstEjb.class,com/feiyu/ejb/FirstEjbBean.class
-----META-INF/MANIFEST.MF
另外,我发现在JBoss服务器启动的时候,没有出现加载FirstEjbBean之类的提示,而且无论是deploy还是undeploy该EJB项目,JBOSS服务器控制台都无内容输出,但实际上目录有变化(undeploy时目录消失,deploy时目录出现)
------解决方案--------------------------------------------------------
看不懂啊 ,哥们
------解决方案--------------------------------------------------------
学习~~~~~~~~~~~