`
8366
  • 浏览: 812972 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

本地客户端调用 websphere6.1 ejb资源 解决方案

    博客分类:
  • ejb
阅读更多

开发环境: 中我们都是在jboss4.0上部署ejb2.0,使用的是windows操作系统,然后在tomcat中开发web前端,然后在tomcat中
调用jboos中的ejb资源,完成商务逻辑


生产环境: 我们的web前端和ejb都是部署在websphere6.1上,使用的是Linux4操作系统

在本地的开发环境 写的 ejb调用的客户端,可以正确调用到jboss的ejb的资源,可是如果这个客户端要去调用linux上的websphere上的ejb 总是不成功


 已知的原因:

1.java.lang.NoClassDefFoundError: com/ibm/CORBA/iiop/ObjectURL
2.不能初始化上下文工厂  com.ibm.websphere.naming.WsnInitialContextFactory

网上找了找一直也没找到这种情况的完整的解决方案

 

根本原因: 不管是linux 下的websphere 或者是windows 下的websphere 都是使用IBM自己的JDK而不是SUN的jdk

 

解决方案:

 1.由于生产环境的下的websphere的 JDK 使用的1.5的,这个可以到websphere 的安装目录 找到java/bin 使用java -version 看到
 2. 由于我们本地的客户端是windows环境,使用的是sun的jdk,需要我们下载IBM JDK1.5,找到了IBM的官网 JDK的下载地址,也只有一个 1.5的jre ,没有jdk,并且我下载了 这个1.5的jre For windows ,发现也不能安装,这个官方jre居然是绑定操作系统的,他会检测bios 中是否是IBM的硬件系统,进一步请教google才知道 IBM根本就没 让JDK1.5 免费下载使用

3.于是找到了一个 部署在windows环境下的websphere6.1,将其java 目录打包,放在本地一个目录下,叫ibm_jdk1.5 ,使用 java - version 看到的版本号 如下图:

 

 

4. 在eclipse 中我们 新建立一个项目 叫callejb , 首先我们在eclipse 中增加一个ibm的jdk1.5 ,然后再选择将 callejb 使用的 编译环境 改为 ibm_jdk1.5 ,如下图:

 

 

 

 

 

5. 由于需要 初始化websphere 环境 还需要 将websphere 安装目录下的 runtime下的两个jar包 拷贝到项目下

com.ibm.ws.admin.client_6.1.0.jar ,com.ibm.ws.webservices.thinclient_6.1.0.jar

 

 

 

6.使用客户端调用代码 来调用远程的ejb ,客户端代码 就不写了 大同小异

 

其中 初始化上下文环境的参数 类似这样(我们项目中的 ,ejb是集群)

 

NETB_PROVIDER_URL=corbaloc::133.64.xx.xx:2810,:133.64.xx.xx:2810
NETB_INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory

 

 

 

IBM JDK与Sun JDK的不同之处(转载:http://book.csdn.net/bookfiles/222/10022210582.shtml ):

IBM Java软件开发工具包在用法上和Sun的工具包基本相同。只是有少许差别,这就是本节要介绍的内容。

最大的不同点是厂商发布的Java版本。Sun拥有最新的版本。Sun已经开始发布5.0版,而IBM仍在发布Java 1.3版。不用太多注意这些技术上的争端。

  性能

运行大部分 代码时,IBM的Java实现比Sun的实现要快。基准与Java虚拟机一样复杂,这一内容已超出了本章的讨论范围(事实上,基准并不能准确预测应用程序 在一种环境下的运行要比在另一种环境下能快多少)。但是,在IBM JVM下运行Java应用程序时,可以看到性能有极大的提高—— 50%~100%级别的提高。

哪一种Java SDK产生字节码文件,这一点无关紧要。不用去管是何种编译器(IBM或Sun)产生的已编译类,应该看运行这些类时性能的提高。更快速的虚拟机和/或更好的即时编译器(JIT),使得IBM运行时的性能有了明显改进。

我们在大部分时间会使用Sun开发工具包和运行库,因为Sun是Java的定义者。如果应用程序对执行速度有严格要求,可以考虑IBM Java运行库。您可以看见其在速度上的优势。

 命令上的不同

可以注意到 一些不同点。例如,有java和javaw,这两者都调用Java运行库。前者有Java控制台接口,而后者没有。IBM Java SDK带有一个用于CORBA/IIOP的对象请求代理守护程序(Object Request Broker Daemon,ORBD),而Sun SDK没有。但这些对我们来讲并不重要。

在大量的工具中,这些差别很细微,Sun的文档也适用于IBM工具。

IBM类

IBM的 Eclipse项目(第10章将介绍)提供了一个大型的GUI API库,称为SWT。在第17章阐述。IBM增强了BigDecimal类(com.ibm.math.BigDecimal),这解决了Sun中十进 制算法的众多不足之处。在本书中我们将使用标准Java类(因为它在所有介绍的开发工具包中都是相同的),但是您可以查看IBM的FAQ文档中关于增强的 BigDecimal类的有关内容。在Java 5. 0中IBM类有可能成为官方Sun版本。这个类的主要特点是它可以正确处理舍入和精度,这些在金融和科学应用中极有帮助。查看IBM文档看一看是否有您需 要的信息。

注意Java字节码的差别。可以用Sun Java运行库下载并使用IBM类。

 

 

 

分享到:
评论

相关推荐

    WebSphere Application Server Toolkit V6.1 中构建 Web 服务

    3. **WebSphere Toolkit V6.1**:这个工具集包含了开发Web服务所需的全部工具,如WSDD(Web Service Deployment Descriptor)编辑器,用于配置服务和客户端;WSDL生成器,用于从Java代码自动生成服务描述;还有测试...

    NC6.1_产品安装部署及配置指南

    NCSYSCONFIG是NC6.1的系统配置工具,通过它可以配置系统参数,部署EJB(Enterprise JavaBeans),实现业务逻辑的封装和调用。 #### 2.6 NC客户端JRE安装 JRE(Java Runtime Environment)是Java运行环境,客户端也...

    WAS6.1红皮书导读

    IBM WebSphere Application Server(WAS)V6.1是一个为企业级Java应用提供运行环境的应用服务器。WAS V6.1的核心知识点包括产品概述、系统管理技术概览、Java管理扩展(JMX)、分布式管理和配置数据仓库。下面详细...

    j2ee集群J2EEClustering.pdf

    - **EJBObjectStub的集群支持**:EJBObjectStub是客户端用来远程调用EJB实例的方法的对象,集群支持确保客户端可以在任意服务器上调用EJB实例的方法。 #### 7. 对于JMS和数据库连接的集群支持 在J2EE集群中,JMS...

    揭开J2EE集群的面纱

    在集群环境中,EJBObjectStub同样需要支持跨服务器的调用,以确保客户端能够正确地访问到所需的EJB实例。 #### 7. 对于JMS和数据库连接的集群支持 JMS(Java Message Service)和数据库连接是J2EE应用中常见的组件...

    J2EE集群.pdf

    - **4.2.4 WebLogic, WebSphere, JBoss的方案:结对服务器(Paired servers)复制**:通过结对服务器之间的复制来实现会话数据的共享。 - **4.2.5 IBM的方案:集中状态服务器**:使用一台专门的服务器来存储和管理...

    J2EE扫盲之-揭开J2EE集群的神秘面纱

    - **4.2.4 WebLogic,WebSphere,JBoss的方案:结对服务器(Paired servers)复制**:这些商用服务器通常采用结对服务器的方式,其中一个作为主服务器处理请求,另一个作为备服务器随时准备接管工作。 - **4.2.5 IBM的...

    Spring中文帮助文档

    容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意事项 12.3. JDO 12.3.1. 建立PersistenceManagerFactory 12.3.2. JdoTemplate和JdoDaoSupport 12.3.3. 基于原生的JDO API实现DAO 12.3.4. ...

    J2EE经典教程

    J2EE的核心目标是提供一套完整的解决方案来构建和部署可移植、健壮、可伸缩且安全的多层企业级应用程序。 ##### 1.2 J2EE四层模型 J2EE架构通常被划分为四个层次:客户层、表示层、业务逻辑层和数据访问层。 - **...

    Spring API

    容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意事项 12.3. JDO 12.3.1. 建立PersistenceManagerFactory 12.3.2. JdoTemplate和JdoDaoSupport 12.3.3. 基于原生的JDO API实现DAO 12.3.4. ...

    Spring 2.0 开发参考手册

    9.9. 公共问题的解决方案 9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1....

    山东建筑大学J2EE讲义

    - **销毁阶段**:当Servlet不再需要时,容器会调用`destroy()`方法释放资源。 **4.3 J2EE Web应用的目录结构** J2EE Web应用的目录结构通常包括`WEB-INF`目录,其中包含了`web.xml`配置文件、类文件和库文件。 **...

    spring chm文档

    9.9. 公共问题的解决方案 9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1....

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.9. 公共问题的解决方案 9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 ...

Global site tag (gtag.js) - Google Analytics