EJB3.0 小问题求救,急急急!!

07-06-21 lingzihan1215
我做了一个ejb3.0的小程序,如下:

接口

import javax.ejb.Remote;

@Remote

public interface Calculator

{

public int add(int x,int y);

}

session实现类

import javax.ejb.Stateless;

public @Stateless class CalculatorBean implements Calculator {

public int add(int x, int y) {

return x+y;

}

}

测试类:

import javax.naming.InitialContext;

public class Client {

public static void main(String[] args) throws Exception {

InitialContext ic = new InitialContext();

Calculator cal = (Calculator)ic.lookup("CalculatorBean/remote");

System.out.println(cal.add(1, 1));

}

}

最基本的一个程序,可是却出现了如下异常:

Exception in thread "main" java.lang.reflect.UndeclaredThrowableException

at $Proxy0.add(Unknown Source)

at miss.Client.main(Client.java:14)

Caused by: java.lang.Exception: Can not make remoting client invocation due to not being connected to server.

at org.jboss.remoting.Client.invoke(Client.java:616)

at org.jboss.remoting.Client.invoke(Client.java:604)

at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:41)

at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)

at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:46)

at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)

at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:40)

at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)

at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)

at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)

at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:103)

... 2 more

请高人们帮帮小弟啊,搞不定这个,ejb继续不下去啊!!!

谢了。。。

banq
2007-06-21 15:46
不能连接EJB3服务器,需要配置客户端JNDI,将JNDI.properies放在客户端classpath或在程序中写入JNDI服务器和端口。

学习EJB之前一定要记住:EJB是一个分布式通讯性质的技术,无论是EJB2还是EJB3。

lingzihan1215
2007-06-21 16:11
程序中有 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:1099

请 banq 大哥再看一下

我的环境是 jboss4.2.0 CR2+JDK 1.5.0+jbossIDE(3.2)

[该贴被lingzihan1215于2007年06月21日 16:16修改过]

猜你喜欢