使用说明:这个是在基于[WebLogic调用EJB3.0服务的异常]和[synchronized对静态类与实例的区别]基础上的问题,因为我们在各种环境下weblogic10.3版本上都调试通了,但一移到11版本就报错。
部分代码:
public static GISElectricService getEJBResultByMethodNames() throws WebException {
InitialContext ctx = null;
Properties props = new Properties();
props.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
props.setProperty(javax.naming.Context.PROVIDER_URL,
context_provider_url);
try {
ctx = new InitialContext(props);
beanObj = (GISElectricService) ctx.lookup(JNDI_NAME);//抛异常位置,每次lookup时都报错,并且jndiname是找到的。
} catch (NamingException e) {
logger.error("Exception:", e);
//捕获远程上抛的异常信息
String errorMeg = e.getCause().getMessage() ;
logger.error("拓扑分析的异常----->"+errorMeg) ;
throw new WebException(ExceptionConstants.Code_3500,errorMeg);
}
return beanObj;
}
分析:初开始抛的异常是找不到JNDI目录树,当时发布的环境不是WebLogic,怀疑里面的容器不支持,但后来发布到weblogic环境下依然报错,报的是lookup封装的一些异常,而且在10.3下没有任何问题,最终只能定位为坑爹的版本问题。
结论:有时间对WebLogic11作一些了解,感觉它底层的初始化机制都不一样了。
分享到:
相关推荐
在Java EE中,EJB允许开发者创建业务逻辑组件,这些组件可以被其他应用或服务远程调用。EJB分为三种类型:会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean(Message-Driven Beans)。在分布式...
基于Facade的EJB远程调用技术 基于Facade的EJB远程调用技术
### EJB 基于Java的远程方法调用(RMI)技术 #### 一、EJB概述 **Enterprise JavaBeans (EJB)** 是一种基于Java的...此外,通过RMI技术的支持,EJB能够实现高效的远程调用,使得跨系统的组件交互变得更加简单高效。
调用EJB的客户端程序,通过远程接口方式调用
本文将深入探讨如何在WebSphere环境中远程调用EJB组件,同时介绍ejb3.0版本的一些关键特性,以及 ejb 开发实例和相关框架。 **一、EJB 3.0简介** EJB 3.0是EJB规范的一个重大改革,引入了更加轻量级和简化的设计,...
- Remote Method Invocation(RMI):这是EJB之间最基础的调用方式,允许一个EJB实例调用另一个EJB的远程接口方法。 - Local Interface:如果调用方和被调用的EJB在同一应用服务器内,可以使用本地接口,这样可以...
4. **容器管理**: EJB容器在调用实际的bean实例前,会进行一系列容器管理操作,如事务管理、安全验证、性能监控等。 5. **分发请求**: 容器将客户端请求转换为本地方法调用,分发给EJB组件实例。 6. **执行业务逻辑*...
Java远程调用(Remote Method Invocation,RMI)是Java平台中一种重要的分布式计算技术,它允许在不同网络环境中的Java对象之间进行透明的交互。在本文中,我们将深入探讨三种不同的RMI实现方法:原始方式、Spring...
标题“JNDI调用分布式EJB3 通用接口”意味着我们将探讨如何使用JNDI来查找和调用分布在不同节点上的EJB3组件。EJB3中的一个重要特性是它可以跨网络进行分布,这使得应用程序能够利用多台服务器的资源,提高可伸缩性...
- 在实际部署过程中,需要注意EJB的版本兼容性问题,以及安全认证机制。例如,上文中的`jndiProviderUrl`、`Context.SECURITY_PRINCIPAL`和`Context.SECURITY_CREDENTIALS`都需要根据实际情况进行配置。 通过上述...
在独立的Tomcat或J2SE环境中,由于不在同一个虚拟机(VM)中,只能调用EJB的远程接口,而不能调用本地接口。 另外,除了代码中硬编码环境属性,还可以在classpath下放置一个名为`jndi.properties`的文件来设置...
Java远程调用框架是分布式系统中关键的技术,它允许运行在不同计算机上的应用程序相互通信,协同完成任务。本文探讨的是一种基于动态代理的Java远程调用框架,旨在解决传统远程调用技术如RMI(Remote Method ...
在IT领域,企业级应用常常需要集成不同的服务以实现跨平台交互。本文将深入探讨如何通过Tuxedo调用Weblogic的EJB(Enterprise JavaBeans)服务,这一过程称为“WTC暴露ejb服务”。WebLogic Transaction Coordinator ...
1. **定义接口**:为EJB定义本地和远程接口。 2. **实现EJB类**:实现接口中定义的方法,包括业务逻辑的实现。 3. **配置部署描述符**:使用`ejb-jar.xml`文件指定EJB的部署属性。 **部署到应用服务器** 1. **打包...
【在JBoss下配置EJB】 企业级JavaBean(Enterprise JavaBeans,简称EJB)是Java平台上的一个核心组件,用于构建可扩展、安全且事务处理能力强大的分布式应用程序。EJB标准经历了多个版本的发展,从早期的EJB 2.0到...
Java如何在多个EJB之间相互调用的例子,也就是各种EJB之间的调用例子,向初学者演示如何实现调用的具体代码及步骤,涉及以下相关方法:用远程接口的引用访问EJB、函数将被FirstEJB调用,同时它将调用secondEJB。...
分布式对象技术是一种软件设计模式,允许对象在其方法被远程调用时,仿佛这些方法是在本地执行的一样。这种特性使得分布式系统的设计更加简单且直观。 **特点**: - **分布透明**: 客户端不知道其调用的对象位于何处...