EJB问题!!!是高手就来!!!

ip_moon 2009-03-05 06:29:08
今天刚接触EJB,编写了一个客户端如下(在EJB_01_Client项目里):
1、public class FirstEjbClient {
public static void main(String[] args) throws Exception{
InitialContext context = new InitialContext();
FirstEjb fe = (FirstEjb)context.lookup("FirstEjbBean/remote");
String s = fe.saySomething("moon");
System.out.println(s);
}
}
运行时报错:
Exception in thread "main" 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(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.moon.ejb.FirstEjbClient.main(FirstEjbClient.java:9)
2、说明:
已经将项目部署到了JBOSS服务器上,版本是4.2.2.GA,部署没有问题,我已经引进了jboss-4.2.2.GA\client下所有的jar包,而且引进了EJB项目(ejb_01)下EJB接口(FirstEjb)的JAR包。
3、问题:
(1)请问报错是什么意思?怎么打印不出结果呢?
JNDI没有初始化吗,我已经在EJB_01_Client的src目录下创建了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
(2)JBOSS需要配置环境变量吗?(我今天第一次接触JBOSS)

...全文
215 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ip_moon 2009-03-06
  • 打赏
  • 举报
回复
自己再顶一次!
li_d_s 2009-03-06
  • 打赏
  • 举报
回复
jndi.properties不会自动读的,可以手动:
Properties props = new Properties();
props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("jndi.properties"));
InitialContext context = new InitialContext(props);
liupengbart 2009-03-06
  • 打赏
  • 举报
回复
我以前也碰到过这样的问题,你看书上或者别人写的例子上面没有传入参数也可以。但自己那样写却会报错。 不过你可以尝试一下把参数放进去,然后设置一些属性的值。再测试一下,看问题是否解决。
liupengbart 2009-03-06
  • 打赏
  • 举报
回复
根据报的错误来看,是因为new InitialContext(); 容器在初始的时候,构造方法里面需要传入一些参数。比如协议之类的东东。

阿里路亚1984 2009-03-06
  • 打赏
  • 举报
回复
我就不来 !
ip_moon 2009-03-05
  • 打赏
  • 举报
回复
失望~达人在哪里???
ip_moon 2009-03-05
  • 打赏
  • 举报
回复
真没有人能解决吗???
ouyangqinxin 2009-03-05
  • 打赏
  • 举报
回复
视频上好多的动作是显示不出来的!
ip_moon 2009-03-05
  • 打赏
  • 举报
回复
但是视频上就是直接InitialContext context = new InitialContext()这样用的啊~我是跟着视频做的~
秦π 2009-03-05
  • 打赏
  • 举报
回复
InitialContext context = new InitialContext();
如果要直接使用的话你的在EJB的容器里 你在外部类里的先设置url等属性
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
p.put(Context.PROVIDER_URL, "localhost:1099");
InitialContext context = new InitialContext(p);
内容概要:本文围绕不确定环境下的多式联运路径优化问题展开研究,提出并实现了基于AFO算法、遗传算法(GA)和粒子群优化算法(PSO)的三种智能优化方法,并借助Matlab平台完成算法编程与仿真。研究构建了考虑时间、成本、转运风险等多重不确定因素的路径优化模型,系统比较了AFO、GA、PSO三种算法在收敛速度、全局寻优能力和稳定性方面的表现,同时引入Matlab自带的全局优化搜索器作为基准对照,深入分析各算法在复杂物流网络中的适用边界与性能差异。研究表明,AFO算法在解决此类组合优化问题时展现出更快的收敛效率和更强的局部规避能力。; 适合人群:具备一定Matlab编程基础与运筹优化知识,从事物流工程、交通运输规划、智能算法开发等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于多式联运、综合货运网络中的路径决策支持系统构建;②为不确定性条件下复杂路径规划问题提供智能算法选型依据与技术实现方案;③支持科研人员复现主流优化算法并开展横向性能对比实验,推动算法改进与实际落地。; 阅读建议:建议读者结合提供的Matlab代码逐模块分析算法实现流程,重点理解目标函数设计、约束条件处理及参数敏感性分析部分,可通过调整问题规模与算法参数进行对比实验,进一步拓展至动态路径规划或大规模网络优化等延伸场景。

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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