EJB3.1 JBoss7.1 Eclipse3.7

THE_NO 2012-11-25 04:39:08
ejb入门,向大神求救
ejb代码

package com.sxt;

public interface FirstEJB {
public String say(String str) ;
}

package com.sxt;

import javax.ejb.Remote;
import javax.ejb.Stateless;

@Stateless
@Remote
public class FirstBean implements FirstEJB {

public String say(String str) {
// TODO Auto-generated method stub
return "Hellow"+ str;
}



}

客户端


package com.bjsxt;

import java.util.Hashtable;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import com.sxt.FirstEJB;

public class FirstClient {
public static void main(String[] args) throws Exception {
try {
InitialContext context = new InitialContext();
FirstEJB ejb=(FirstEJB)context.lookup("FirstBean/Remote");

String s = ejb.say("world");
System.out.println(s);
} catch (NamingException e) {

e.printStackTrace();
}

/* Properties props=new Properties();
props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url","localhost:4447");
props.setProperty("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
try
{
InitialContext context=new InitialContext(props);
FirstEJB hello=(FirstEJB)context.lookup("FirstBean/remote");
System.out.println(hello.say("Hello Kitty"));
}
catch(NamingException e)
{
e.printStackTrace();
System.out.println(e.getMessage());
}*/


/* Hashtable<String, String> jndiProperties = new Hashtable<String, String>();
jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
try {
Context context = new InitialContext(jndiProperties);


final String moduleName = "FirstBean";

Object obj = context.lookup("FirstBean/Remote");

FirstEJB hwr =
(FirstEJB)obj;
String say = hwr.say("XiXia");
System.out.println(say);
} 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

exception:

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost

使用jboss-ejb-client.properties时

remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
remote.connections=default
remote.connection.default.host=localhost
remote.connection.default.port=4447
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false

exception:

javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:344)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at com.bjsxt.FirstClient.main(FirstClient.java:15)
配置写代码中也会报其中一个
...全文
341 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
THE_NO 2012-12-02
  • 打赏
  • 举报
回复
求解答

6,786

社区成员

发帖
与我相关
我的任务
社区描述
JBoss技术交流
社区管理员
  • JBoss技术交流社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧