首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

Maven的EJB&JBoss的配备使用以及一键式部署

2012-08-21 
Maven的EJB&JBoss的配置使用以及一键式部署前言: 一直觉得EJB是一个很恶心的东西,不过仅限于耳闻,今天接触

Maven的EJB&JBoss的配置使用以及一键式部署

前言: 一直觉得EJB是一个很恶心的东西,不过仅限于耳闻,今天接触之后发现,EJB果然是一个很恶心的东西.

?

1、准备:为了完成主题中所提到的任务我们需要做如下准备:

? ? ? ? ? IntelliJ IDEA 11.1.1

? ? ? ? ? Maven 3.0.4

? ? ? ? ? JDK 1.6.0

? ? ? ? ? JBOSS 5.1.0 GA

关于安装以及环境配置请Google

?

2、新建项目和一键式部署

? ? ?打开IntelliJ中创建一个新的Project名字命名为(maven-ejb-spike),并在Project Structure,Modules中在maven-ejb-spike下增加一个 EJB 的module。

? ? ?在Deployment Descriptors中增加ejb-jar.xml, 在项目的根路径下将增加一个META-INF其中包括一个ejb-jar.xml。

? ? ?在src/main下新建一个resources目录,将整个META-INF文件夹移动到resources下

? ? ?打开pom.xml文件,并在其中增加以下配置:

?

???<groupId>maven-ejb-spike</groupId>

???<artifactId>maven-ejb-spike</artifactId>

???<version>1.0</version>

?

???<build>

???????<plugins>

???????????<plugin>

???????????????<groupId>org.apache.maven.plugins</groupId>

???????????????<artifactId>maven-ejb-plugin</artifactId>

???????????????<version>2.3</version>

???????????????<configuration>

???????????????????<ejbVersion>2.1</ejbVersion>

???????????????</configuration>

???????????</plugin>

?

???????????<plugin>

???????????????<groupId>org.codehaus.mojo</groupId>

???????????????<artifactId>jboss-maven-plugin</artifactId>

???????????????<version>1.5.0</version>

???????????????<configuration>

???????????????????<serverName>all</serverName>

???????????????????<fileName>target/maven-ejb-spike-1.0.jar</fileName>

???????????????</configuration>

???????????</plugin>

???????</plugins>

???</build>

?

? ? ?然后到项目路径下,执行:mvn clean install jboss:hard-undeploy jboss:hard-deploy jboss:start

? ? ?如果看到 Starting JBoss和BUILD SUCCESS的字样,就说明成功了。我们的EJB项目现在会被maven自动打包成jar包并发布到JBoss的deploy目录下。 我们可以接着进行下面的工作。

?

3、开始开发第一个Session

右键点击当前项目(也就是此时我们的EJB不做任何事情,但是是一个完整可以部署的EJB session了。

执行?mvn clean install jboss:hard-undeploy jboss:hard-deploy jboss:start 看是否依然能够部署成功。

?

确认成功信息之后在remote interface中增加一个方法例如helloEJB, 然后在session bean中实现。

?

4、测试在JBoss上的EJB Session

将JBoss下client目录中所有jar加入到当前项目中。

然后在测试用例中加入如下代码:

Hashtable environment = new Hashtable();

environment.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");

environment.put(Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces");

environment.put(Context.PROVIDER_URL, "jnp://localhost:1099"); //remote machine IP

InitialContext context = new InitialContext(environment);

GasCostCalculator calculator = ((GasCostCalculatorHome)context.lookup("GasCostCalculatorEJB")).create();

assertThat(calculator.calculate(0), equalTo(0));

System.out.println("-->> lookup object successfully");

?

运行测试用例之前确保你的JBoss在执行中。

?

理论上。。。。测试用例应该通过。

?

?

?

?

?


热点排行