本文为原创,如需转载,请注明作者和出处,谢谢!
Session Bean除了可以使用注释来发布外,也可以使用相应的配置文件来发布。在这种情况下,就不需要在接口和Session Bean中使用注释了。在JBoss中需要两个文件对Session bean进行配置。这两个文件是ejb-jar.xml和jboss.xml。这两个文件应该META-INF目录中,该目录应该放在jar文件的根目 录。ejb-jar.xml文件负责配置session bean,下面是一个典型的配置代码:
其中元素就是一个表示,表示当前配置的session bean的名称。和分别用来指定本地接口和远程接口。 用来指定session bean的java类
jboss.xml文件主要用来指定jndi,如下面的代码所示:
上面的代码中的元素的值和要ejb-jar.xml中的元素的值相同。< jndi-name>用来指定远程的jndi名称。用来指定本地jndi的名称。如果访问远程的 session bean,可以使用下面代码:
从上面代码可看出,lookup方法通过“mygreeter”来查找服务端的session bean。
Session Bean除了可以使用注释来发布外,也可以使用相应的配置文件来发布。在这种情况下,就不需要在接口和Session Bean中使用注释了。在JBoss中需要两个文件对Session bean进行配置。这两个文件是ejb-jar.xml和jboss.xml。这两个文件应该META-INF目录中,该目录应该放在jar文件的根目 录。ejb-jar.xml文件负责配置session bean,下面是一个典型的配置代码:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> xml version="1.0" encoding="ASCII" ?>
< ejb-jar xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xmlns ="http://java.sun.com/xml/ns/javaee"
xmlns:ejb ="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
xsi:schemaLocation ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
version ="3.0" >
< display-name > MyEJB display-name >
< enterprise-beans >
< session >
< ejb-name > Greeter ejb-name >
< business-local > service.GreeterBeanLocal business-local >
< business-remote > service.GreeterBeanRemote business-remote >
< ejb-class > service.GreeterBean ejb-class >
< session-type > Stateless session-type >
< transaction-type > Container transaction-type >
session >
enterprise-beans >
ejb-jar >
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> xml version="1.0" encoding="ASCII" ?>
< ejb-jar xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xmlns ="http://java.sun.com/xml/ns/javaee"
xmlns:ejb ="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
xsi:schemaLocation ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
version ="3.0" >
< display-name > MyEJB display-name >
< enterprise-beans >
< session >
< ejb-name > Greeter ejb-name >
< business-local > service.GreeterBeanLocal business-local >
< business-remote > service.GreeterBeanRemote business-remote >
< ejb-class > service.GreeterBean ejb-class >
< session-type > Stateless session-type >
< transaction-type > Container transaction-type >
session >
enterprise-beans >
ejb-jar >
其中元素就是一个表示,表示当前配置的session bean的名称。和分别用来指定本地接口和远程接口。 用来指定session bean的java类
jboss.xml文件主要用来指定jndi,如下面的代码所示:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> xml version="1.0" ?>
< jboss xmlns:xs ="http://www.jboss.org/j2ee/schema"
xs:schemaLocation ="http://www.jboss.org/j2ee/schema jboss_5_0.xsd"
version ="5.0" >
< enterprise-beans >
< session >
< ejb-name > Greeter ejb-name >
< jndi-name > mygreeter jndi-name >
< local-jndi-name > mygreeter_local local-jndi-name >
session >
enterprise-beans >
jboss >
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> xml version="1.0" ?>
< jboss xmlns:xs ="http://www.jboss.org/j2ee/schema"
xs:schemaLocation ="http://www.jboss.org/j2ee/schema jboss_5_0.xsd"
version ="5.0" >
< enterprise-beans >
< session >
< ejb-name > Greeter ejb-name >
< jndi-name > mygreeter jndi-name >
< local-jndi-name > mygreeter_local local-jndi-name >
session >
enterprise-beans >
jboss >
上面的代码中的元素的值和要ejb-jar.xml中的元素的值相同。< jndi-name>用来指定远程的jndi名称。用来指定本地jndi的名称。如果访问远程的 session bean,可以使用下面代码:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> Properties prop = new Properties();
InitialContext ctx = new InitialContext();
System.out.println(((service.Greeter)ctx.lookup( " mygreeter " )).greet( " bill " ));
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> Properties prop = new Properties();
InitialContext ctx = new InitialContext();
System.out.println(((service.Greeter)ctx.lookup( " mygreeter " )).greet( " bill " ));
从上面代码可看出,lookup方法通过“mygreeter”来查找服务端的session bean。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12921506/viewspace-605415/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12921506/viewspace-605415/