转载自http://blog.sina.com.cn/s/blog_678530f60100hxaf.html

说是转载,其实这是我个人在几年前新浪博客上发表的文章。

帮导师搞了一周的EJB,总算初步搞定。

一。问题的需求。

要求在WebLogic(简称W)上部署一个EJB组件,根据客户端输入的数值n,实现n的Fibonacci值;

二。环境配置

这里我走了不少弯路。Eclipse(简称E)、MyEclipse(简称M)、JDK(简称J)和W之间的配置很麻烦,之间的版本问题很重要。我之前装J1.4后,E2版本是不能用的;装J1.5后,W8版本是不能用的。这里我用的是E3.2.2、M5.0.1、J1.5和W9.2。

装好了J之后,需要配置环境变量,这个网上很多;E是直接解压缩放在C盘下;M安装在E的路径中(网上说将M默认安装后将plugins和features两个文件夹覆盖E中的相应文件夹即可,至少在我这里行不通);W安装在C盘下。

三。具体步骤

1.打开E,最好将工作区间设在E的路径中,也就是一般按照它的默认路径就可以了;

2.在菜单栏的“windows”下选择“preferrences”,然后进行设置,如下图所示。

点击“Application Servers”选择服务器,这里选择刚才安装的W9.之后在右半边区域进行设置,如下图所示。





在左半边区域的W9下的JDK中进行设置,如下图所示:





点击“Add”选择W目录下的JDK文件夹即可。

3.此时可以开发EJB了。如下图所示,新建一个EJB工程:(下图为网上摘录,不过与本人开发界面相同,故省去自己截图的麻烦)

可在这里将工程名字换成Fibonacci。点击完成即可。

接下来在Fibonacci工程上右击,选择New,添加一个SessionBean,如下图所示:

按下图去配置:

注意,这里的HelloWorld全部换为Fibonacci。

至此,E已经为你生成好了一部分代码。

打开Fibonacci.java文件,找到最后一个方法,这个方法名告诉你可以将其替换为你想要的方法名。这里将其替换为:

public long getFibonacci(int n) throws EJBException {

  // rename and start putting your business logic here

  if(n==0) return 1;

  else if (n==1) return 1;

  else

   return getFibonacci(n - 1) + getFibonacci(n - 2);

 }

此时在工程上右击选择属性,如下图所示:

这里添加外部Jar,就是添加W9安装目录下的weblogic92->server->lib->weblogic.jar,将其添加进来。

接着选择XDoclet选项,如下图所示:

此时Fibonacci工程项目已经配置完毕,是不是很复杂呢?呵呵

接下来,在工程商右击,选择M->"add and remove project deployment",添加W9即可。

此时在界面最下面的“server”标签,你可以看到W9。运行它,在console你可以看到服务器运行情况。一般而言,是正常运行的,你可以看到Fibonacci组件已经成功配置。

接下来就是写客户端了。这个是很简单的事情,新建一个类即可,取名为FibonacciTest。

客户端代码如下:

package com;

import java.rmi.RemoteException;

import java.util.Properties;

import javax.ejb.CreateException;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import com.interfaces.Fibonacci;

import com.interfaces.FibonacciHome;

public class FibonacciTest {

public static void main(String[] args) {

  // TODO Auto-generated method stub

  Properties properties=new Properties();

  properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");

  properties.setProperty(Context.PROVIDER_URL,"t3://localhost:7001");

          

  Context context;

  try {

        context = new InitialContext(properties);

        FibonacciHome fh=(FibonacciHome)context.lookup("ejb/Fibonacci");

        Fibonacci f=fh.create();

        long result=0;

        for (int i = 40; i >= 0; i--)

          {

            result = f.getFibonacci(i);

            System.out.println("Fibonacci of" + i + " is " + result);

          }

      } catch (NamingException e) {

        // TODO 自动生成 catch 块

        e.printStackTrace();

        } catch (RemoteException e) {

        // TODO 自动生成 catch 块

        e.printStackTrace();

        } catch (CreateException e) {

        // TODO 自动生成 catch 块

        e.printStackTrace();

        }

 }

}

至此可以运行看看结果。不过,E里的run as里有很多选项,我选择的是Java Project。其他的选项我还没有进行细究。

至此已经全部配置完毕。你可以在W的安装目录下mydomain中看到刚刚部署的Fibonacci组件。在E的用户空间中也可以看到。

总结:虽然看似上面这些很简单,却是我摸索了近一周的时间。

现在导师要求我手动将所有的class文件打包jar文件,并通过W的控制台界面进行部署。这个仍在研究中。

eclipse+MyEclipse+WebLogic开发简单的EJB的更多相关文章

  1. JDK+Eclipse+MyEclipse+tomcat的安装与配置

    以下我所使用的各软件版本为:JDK(1.6):eclipse(3.2.2):myEclipse(5.5.1GA):tomcat(5.5.12): 一.安装JDK: 下载完JDK(1.6)后双击进行安装 ...

  2. Hadoop项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  3. MapReduce 开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  4. 转载 Elasticsearch开发环境搭建(Eclipse\MyEclipse + Maven)

    概要: 1.使用Eclipse搭建Elasticsearch详情参考下面链接 2.Java Elasticsearch 配置 3.ElasticSearch Java Api(一) -添加数据创建索引 ...

  5. Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) 我这里,相信,能看此博客的朋友,想必是有一定基础的了.我前期写了大量的基础性博文. ...

  6. Hive项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  7. Elasticsearch开发环境搭建(Eclipse\MyEclipse + Maven)

    前提是, Elasticsearch 编程API入门系列---说在前面的话 Eclipse下Maven新建项目.自动打依赖jar包(包含普通项目和Web项目) setting.xml配置文件 如何在M ...

  8. 极其简单的搭建eclipse的android开发环境

    这篇博客是关于如何搭建eclipse的android开发环境, 与网上的其他博客不同,我的方法比他们简单的多,所 以推荐给大家. 搭建eclipse的android开发环境步骤: 1.配置JDK(Ja ...

  9. Eclipse/Myeclipse 开发项目技巧

    Eclipse/Myeclipse 开发项目 编程的本质: 把现实生活中的业务逻辑用代码实现. eclipse 是一个开放源代码.基于Java的可扩展开发平台. (最初主要用来Java语言开发,但目前 ...

随机推荐

  1. Python标准库(3.x): itertools库扫盲

    itertools functions accumulate() compress() groupby() starmap() chain() count() islice() takewhile() ...

  2. 拆分Codeigniter 数据库,独立提取

    起因:     codeigniter的activeRecord链式操作非常的方便,目前手头的项目用的不是CI,但是又想使用CI的数据库操作.   1. 新建文件夹 activeDB,内部目录如下 最 ...

  3. Win10《芒果TV - Preview》更新至v3.1.57.0:热门节目和电视台直播回归

    Win10<芒果TV - Preview>是Win10<芒果TV>官方唯一指定内测预览版,最新的改进和功能更新将会在此版本优先体验. 为了想让大家能在12月31日看到<湖 ...

  4. Win10《芒果TV - Preview》更新v3.1.31.0,全新播放页蜕变,预加载提速技术

    Win10<芒果TV - Preview>(商店内测版) v3.1.31.0 于2016年11月21日星期一晚上九点半登陆商店 主要是全面升级改造桌面播放页,新增观看互动评论.猜你喜欢功能 ...

  5. MySQL 常用数据存储引擎区别

    mysql有多种存储引擎,目前常用的是 MyISAM 和 InnoDB 这两个引擎,除了这两个引擎以为还有许多其他引擎,有官方的,也有一些公司自己研发的.这篇文章主要简单概述一下常用常见的 MySQL ...

  6. Delphi的对象注销方法Destroy和free

    当您使用完对象后,您应该及时撤销它,以便把这个对象占用的内存释放出来.您可以通过调用一个注销方法来撤销您的对象,它会释放分配给这个对象的内存. Delphi的注销方法有两个:Destroy和Free. ...

  7. [机器学习]Generalized Linear Model

    最近一直在回顾linear regression model和logistic regression model,但对其中的一些问题都很疑惑不解,知道我看到广义线性模型即Generalized Lin ...

  8. 深入了解Windows句柄到底是什么(句柄是逻辑指针,或者是指向结构体的指针,图文并茂,非常清楚)good

    总是有新入门的Windows程序员问我Windows的句柄到底是什么,我说你把它看做一种类似指针的标识就行了,但是显然这一答案不能让他们满意,然后我说去问问度娘吧,他们说不行网上的说法太多还难以理解. ...

  9. SpringCloud系列——TX-LCN分布式事务管理

    前言 SpringCloud分布式架构给我们带来开发上的便利,同时增加了我们对事务管理的难度,微服务的遍地开花,本地事务已经无法满足分布式的要求,由此分布式事务问题诞生. 分布式事务被称为世界性的难题 ...

  10. kubernetes之使用http rest api访问集群

    系列目录 在Kubernetes集群中,API Server是集群管理API的入口,由运行在Master节点上的一个名为kube-apiserver的进程提供的服务. 用户进入API可以通过kubec ...