当前位置: 首页 > 知识库问答 >
问题:

博客

罗翔
2023-03-14

有人能告诉我在哪里可以找到关于EJB 3的默认JNDI命名的信息吗?

Weblogic是否使用像Glassfish这样的可移植JNDI名称?

我能找到(比如Glassfish)使用JNDI名称的EJB部署跟踪吗?

例如:

  • 只有@Remote的接口(服务)
  • 只有@Stateless实现接口的bean(ServiceImpl)
  • 所有东西都打包在中。ear文件(service-application-1.0)

在Weblogic上部署时,我看到的唯一JNDI引用是:

service-application-1.0service-application-1.0_jarServiceImpl_Home

但是我不能在上下文查找中使用这个名字。如果我做了

Service myService = (Service) context.lookup("service-application-1.0service-application-1.0_jarServiceImpl_Home");

它给了我

Exception in thread "main" java.lang.ClassCastException: weblogic.ejb.container.internal.StatelessEJBHomeImpl_1035_WLStub cannot be cast to com.tuto.Service
at com.tuto.TestEjb.main(TestEjb.java:24)

PS.它给我的玻璃鱼

Portable jndi names for .... : java:global/service-application-1.0/service-application-ejb-1.0/ServiceImpl

而且

Service myService = (Service) context.lookup("java:global/service-application-1.0/service-application-ejb-1.0/ServiceImpl");

正在工作。

共有2个答案

何向荣
2023-03-14

你可以试试上下文。查找(“servicevimpl#com.Service”),其中ServeImpl是bean的映射名称

戚高洁
2023-03-14

不幸的是,EJB 3.0没有指定标准的JNDI命名,并将其留给服务器供应商。引用WL留档中关于mappdName的语句是正确的:"如果指定此属性,无状态会话bean可能不可移植"。mappdName属性的缺点是,全局JNDI名称将默认为mappdName#FullyQualifiedRemteInterface。由于mappdName是源代码中的注释,它使您的代码不可移植。首选的方法是在特定于供应商的部署描述符中保留特定于供应商的行为,例如weblogic-ejb-jar.xml.这样,您还可以选择指定自己的自定义JNDI名称,而无需预定的格式,如mappdName#FullyQualifiedRemteInterface。

EJB3.1在全局、应用程序和模块级别对JNDI名称进行了一些标准化。请看http://docs.oracle.com/cd/E19798-01/821-1841/girgn/index.html

 类似资料:
  • BlogEngine.NET(博易) 是一款免费、开源的博客系统。2008年至今,本博基于 BlogEngine.NET 进行中文本地化,并将其努力在中国进行推广和应用。 博易遵循 W3C 标准,具有极强的可扩展性、高性能、良好的 SEO 性能和非凡的用户体验。不仅如此,博易还拥有一批高质量的用户群,他们的支持使博易得以不断地发展。 博易不仅开源,而且免费。所有的技术支持全部都是无偿提供的!博易的

  • 嗨-博客,是一个ASP.NET MVC版本的开源博客。  我们每个猿都有一个搭建自己独立博客的梦,因此这个博客就是诞生了。  我们可以随心所欲定制自己的样式效果,并提供给了javascript脚本权限。  在这个多终端的时代,我们将会提供各终端浏览器的兼容显示和各种客户端的阅读与离线下载 嗨 博客 演示地址:http://haojima.net/ 嗨 博客 介绍讲解:http://www.cnbl

  • LBS是一款很受欢迎的开源的国产博客程序,采用ASP开发。

  • 类属性 $display 授权页面的终端类型,取值见微博文档。http://open.weibo.com/wiki/Oauth2/authorize $forcelogin 是否强制用户重新登录,true:是,false:否。默认false。 $language 授权页语言,缺省为中文简体版,en为英文版。 $screenName 获取用户资料时传的参数,可空

  • 微博 微博账号接入机器人后,可以自动回复粉丝的私信。适用于官方微博,大V等自动回复。 注:微博机器人目前仅支持文字,语音两种方式提问,用户在微博聊天框输入语音后,客服系统自动识别语音成文字进行答复。微博的接入流程详情请查看微博机器人接入文档。 第一步:分别复制URL、AppKey用于微博后台的填写(微博填写见下一步) 第二步:将复制的URL,AppKey分别填写到该页面的输入框内,点击保存。由于微

  • 如果你要从其他博客迁移到 Jekyll,Jekyll 导入器可以帮助你。想了解更多关于导入站点至 Jekyll 的信息,请查看我们的 jekyll-import文档页面。