首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 请教jboss-5.0.0.Beta4部署EJB3.0出错的问题
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-18 17:46:52 楼主
    一个很简单的测试例子,stateless session bean
    -------------------------------------------
    Counter.java
    package test;

    import javax.ejb.Remote;

    @Remote

    public interface Counter
    {
      public int add(int i);
      public int getNumber();
    }
    -----------------------------------------------------
    CounterBean.java
    package test;

    import javax.ejb.Stateless;

    @Stateless

    public class CounterBean implements Counter
    {
      private int number = 0;
      //给计数器加上i
      public int add(int i)
      {
        number += i;
        return number;
      }

      //得到当前的计数

      public int getNumber()
      {
        return number;
      }

    }
    -------------------------------------------------
    Client.java
    package test;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;

      public class Client
      {
        public static void main(String[] args)
        {
          InitialContext ctx;
          try {
            ctx = new InitialContext();
            System.out.println("***Counter:"+Counter.class.getName());
            Counter counter = (Counter) ctx.lookup(Counter.class.getName());
            counter.add(10);
            System.out.println("当前的number:" + counter.getNumber());
            counter.add(10);
            System.out.println("当前的number:" + counter.getNumber());
            Counter counter2 = (Counter) ctx.lookup(Counter.class.getName());
            counter2.add(10);
            System.out.println("当前的number:" + counter2.getNumber());
          } catch (NamingException e)
            {
              e.printStackTrace();
            }
         
          }
        }

    -------------------------------------
    jndi.properties
    java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
    java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
    java.naming.provider.url=localhost
    -----------------------------------------------
    使用ant编译,build.xml文件如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <project name="kuaff_ejb3_tutorial" default="ejbjar" basedir=".">
    <property environment="env"/>
    <property name="src.dir" value="${basedir}/src"/>
    <property name="jboss.home" value="${env.JBOSS_HOME}"/>
    <property name="build.dir" value="${basedir}/build"/>
    <property name="build.classes.dir" value="${build.dir}/classes"/>
    <path id="classpath">
    <fileset dir="${jboss.home}/lib">
    <include name="**/*.jar"/>
    </fileset>
    <fileset dir="${jboss.home}/server/all/lib">
    <include name="**/*.jar"/>
    </fileset>
    <pathelement location="${build.classes.dir}"/>
    <pathelement location="${basedir}"/>
    </path>
    <property name="build.classpath" refid="classpath"/>
    <target name="prepare">
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${build.classes.dir}"/>
    </target>
    <target name="compile" depends="prepare">
    <javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="**">
    <classpath refid="classpath"/>
    </javac>
    </target>
    <target name="ejbjar" depends="compile">
    <jar jarfile="build/StatelessSample.ejb3">
    <fileset dir="${build.classes.dir}">
    <include name="**/*.class"/>
    </fileset>
    </jar>
    <copy file="build/StatelessSample.ejb3" todir="${jboss.home}/server/all/deploy"/>
    </target>
    <target name="run" depends="ejbjar">
    <java classname="test.Client" fork="yes" dir=".">
    <classpath refid="classpath"/>
    </java>
    </target>
    <target name="clean.db">
    <delete dir="${jboss.home}/server/all/data/hypersonic"/>
    </target>
    <target name="clean">
    <delete dir="${build.dir}"/>
    <delete file="${jboss.home}/server/all/deploy/StatelessSample.ejb3"/>
    </target>
    </project>

    ---------------------------------------------------
    ant run运行后出错,如下:
    D:\jboss-5.0.0.Beta4\example>ant run
    Buildfile: build.xml

    prepare:

    compile:

    ejbjar:

    run:
        [java] ***Counter:test.Counter
        [java] javax.naming.NameNotFoundException: test.Counter not bound
        [java]    at org.jnp.server.NamingServer.getBinding(NamingServer.java:542)

        [java]    at org.jnp.server.NamingServer.getBinding(NamingServer.java:550)

        [java]    at org.jnp.server.NamingServer.getObject(NamingServer.java:556)
        [java]    at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
        [java]    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [java]    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
    sorImpl.java:39)
        [java]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
    hodAccessorImpl.java:25)
        [java]    at java.lang.reflect.Method.invoke(Method.java:585)
        [java]    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.jav
    a:294)
        [java]    at sun.rmi.transport.Transport$1.run(Transport.java:153)
        [java]    at java.security.AccessController.doPrivileged(Native Method)
        [java]    at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
        [java]    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTranspor
    t.java:466)
        [java]    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPT
    ransport.java:707)
        [java]    at java.lang.Thread.run(Thread.java:595)
        [java]    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServe
    r(StreamRemoteCall.java:247)
        [java]    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCa
    ll.java:223)
        [java]    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
        [java]    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMet
    hod(RemoteObjectInvocationHandler.java:179)
        [java]    at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteOb
    jectInvocationHandler.java:132)
        [java]    at $Proxy0.lookup(Unknown Source)
        [java]    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:66
    9)
        [java]    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:62
    9)
        [java]    at javax.naming.InitialContext.lookup(InitialContext.java:351)
        [java]    at test.Client.main(Client.java:13)

    BUILD SUCCESSFUL
    Total time: 2 seconds
    -----------------------------------------------------
    请教一下是不是还要什么配置文件?
    JBoss中部署EJB3.0需要定义web.xml文件和ejb-jar.xml文件吗?
    谢谢!


    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-18 18:05:281楼 得分:0
    up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-19 09:03:472楼 得分:0
    ctx.lookup(Counter.class.getName()); lookup的参数是EJB的JNDI名称,而不是类的名称。JNDI名称可以通过JMX Console的JNDIView查看
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-19 17:46:153楼 得分:0
    UP
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-19 23:04:294楼 得分:0
    JBossWeek:
      JBoss中的EJB3.0其JNDI名称默认就是class的全路径吧?
      JMX Console的JNDIView中没有看到Counter的相关部署,请帮忙试试看是什么原因,多谢!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-23 23:13:015楼 得分:0
    默认名称应该是CounterBean,而不是Counter
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-01 04:19:546楼 得分:0
    等待牛人来答.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-02 01:17:177楼 得分:0
    我遇到这个种问题,javax.naming.NameNotFoundException: *** not bound ,问题出现在Lomboz插件中比如jboss
    405.server文件中,Client ClassPath中少了相关的类库文件,可参阅我的博文http://blog.csdn.net/blue_fire2008/archive/2008/05/02/2358292.aspx中的server配置文件,添加必要的类库.
    像build.xm.这类由系统自主维护的文件不用管它.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 14:01:098楼 得分:0
    高薪招聘高校计算机专业兼职教师
    北京思源培训中心(http://www.ciitc.com)专业做软件开发技术的培训;由于课程培训需要,长年高薪诚聘兼职讲师,欢迎计算机及相关专业的高校老师、研究生、博士生应聘   
    基本要求如下:
    l    本科以上学历,计算机或相关专业毕业。
    2    具有实际相关工作经验,从事过软件开发或系统管理工作。
    3    语言表达清楚、流畅、逻辑思维清晰,英语听说良好。
    4    诲人不倦,有高度的责任感、敬业精神和团队意识。
    5    注重仪表,具有随机应变的能力。
    6    具有一定的教学经验,从事过教学/培训业务者优先考虑。

    精通应聘职位的某一部分课程内容,如下述编程语言或系统的一种或几种:
    1.    编程语言:C++, VC++,VB.NET,C#, PowerBuilder, Delphi, Java,
      Matlab , C++Builder
    2.    数据库系统:SQL Server2000, SQL Server2005, Oracle,DB2,MySql
    3.    网站编程:Marcomedia, HTML, Altova XML Suite,ASP, JSP, J2EE, J2SE,
        PHP,ASP.NET,VB.NET, ColdFusion,ajax
    4.    操作系统:Unix, Linux,Linux环境下嵌入式开发技术,Sun Solaris,IBM AIX
    5.      办公软件:OFFICE(EXCEL、WORD、POWERPOINT)
    6.      多媒体制作:Authorware7.0  , Director MX 2004
    7.      图形动画类:Photoshop, Illustrator, CorelDRAW, FreeHand,
    Flash ActionScript高级编程,3DMAX,AutoCAD2007 ,Maya
    具有下述任何一种或几种国际IT认证证书者优先考虑:
    1.    微软认证证书MCP / MCSA / MCSE / MCDBA / MCSD
    2.    SUN Java认证证书
    3.    Oracle认证证书
    4.    Macromedia认证证书
    5.    Linux认证证书
    6.    CIW (Certified Internet Webmaster) Associate/Professional/Master认证证书

    有意者请把简历发到如下地址:abc@ciitc.com  QQ:174629429  MSN:bjcosun@hotmail.com
    http://www.ciitc.com
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-15 14:38:129楼 得分:0
    恩,少类,
    具体添加哪个?我忘了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 13:14:2210楼 得分:0
    在jboss路径下的client里找到jbossall-client和jnp-client两个jar包放在client项目里就行了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 15:37:4011楼 得分:0
    up
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved