参考文档
http://download.oracle.com/otndocs/jcp/ejb-3.1-pfd-oth-JSpec/
http://download.oracle.com/otndocs/jcp/7195-jms-1.1-fr-spec-oth-JSpec/
http://www.oracle.com/technetwork/java/jndi-150206.pdf
下载 tomee(可代替tomcat)

下载 tomee war(用于远程调用EJB)

编写EJB
ejb-jar.xml
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" version="3.0"> <enterprise-beans> <session> <ejb-name>HelloBean</ejb-name> <business-remote>cn.zno.Hello</business-remote> <ejb-class>cn.zno.HelloBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> </enterprise-beans> </ejb-jar>
Hello.java
package cn.zno; public interface Hello { public void say(String str); }
HelloBean.java
package cn.zno; public class HelloBean implements Hello { public void say(String str) { System.out.println(str); } }
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.zno</groupId> <artifactId>helloejb</artifactId> <version>1.0</version> <name>enterprise java beans</name> <dependencies> <dependency> <groupId>org.apache.openejb</groupId> <artifactId>javaee-api</artifactId> <version>6.0-6</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-ejb-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> </manifest> </archive> </configuration> </plugin> </plugins> </build> </project>
目录结构

编写remote client
ClientTest.java
package cn.zno; import javax.jms.JMSException; import javax.naming.InitialContext; import javax.naming.NamingException; import cn.zno.Hello; public class ClientTest { public static void main(String[] args) throws NamingException, JMSException { InitialContext ctx = new InitialContext(); Hello hello = (Hello) ctx.lookup("java:global/helloejb-1.0/HelloBean!cn.zno.Hello"); hello.say("------"); } }
jndi.properties
java.naming.provider.url=http://localhost:8080/tomee/ejb java.naming.factory.initial=org.apache.openejb.client.RemoteInitialContextFactory #java.naming.security.principal=tomee #java.naming.security.credentials=tomee
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.zno</groupId> <artifactId>helloejbClient</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.apache.openejb</groupId> <artifactId>javaee-api</artifactId> <version>6.0-6</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.openejb</groupId> <artifactId>openejb-client</artifactId> <version>4.7.4</version> </dependency> </dependencies> </project>
目录结构

部署启动服务
将 helloejb-1.0.jar 和 tomee.war 放置在%tomee_home%/webapps/ 下
启动 tomee (%tomee_home%/bin/startup.bat)
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server version: Apache Tomcat (TomEE)/7.0.68 (1.7.4)
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server built: Feb 8 2016 20:25:54 UTC
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server number: 7.0.68.0
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Name: Windows 7
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Version: 6.1
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Architecture: amd64
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java Home: E:ejavajdk1.7.0_79jre
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Version: 1.7.0_79-b15
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Vendor: Oracle Corporation
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE: E:e omeeapache-tomee-webprofile-1.7.4
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME: E:e omeeapache-tomee-webprofile-1.7.4
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -javaagent:E:e omeeapache-tomee-webprofile-1.7.4libopenejb-javaagent.jar
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.util.logging.config.file=E:e omeeapache-tomee-webprofile-1.7.4conflogging.properties
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.endorsed.dirs=E:e omeeapache-tomee-webprofile-1.7.4endorsed
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.base=E:e omeeapache-tomee-webprofile-1.7.4
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.home=E:e omeeapache-tomee-webprofile-1.7.4
八月 28, 2016 1:58:09 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.io.tmpdir=E:e omeeapache-tomee-webprofile-1.7.4 emp
八月 28, 2016 1:58:09 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: E:ejavajdk1.7.0_79in;C:WindowsSunJavain;C:Windowssystem32;C:Windows;C:Program Files (x86)InteliCLS Client;C:Program FilesInteliCLS Client;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program FilesIntelIntel(R) Management Engine ComponentsDAL;C:Program FilesIntelIntel(R) Management Engine ComponentsIPT;C:Program Files (x86)IntelIntel(R) Management Engine ComponentsDAL;C:Program Files (x86)IntelIntel(R) Management Engine ComponentsIPT;E:eGitcmd;D:Program FilesTortoiseGitin;E:emavenapache-maven-3.3.9in;E:ejavajdk1.7.0_79in;D:Program FilesVanDyke SoftwareSecureCRT;D:Program FilesVanDyke SoftwareSecureFX;.
八月 28, 2016 1:58:09 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-bio-8080"]
八月 28, 2016 1:58:09 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-bio-8009"]
八月 28, 2016 1:58:09 下午 org.apache.openejb.util.OptionsLog info
信息: Using 'tomee.remote.support=true'
八月 28, 2016 1:58:09 下午 org.apache.openejb.util.OptionsLog info
信息: Using 'openejb.jdbc.datasource-creator=org.apache.tomee.jdbc.TomEEDataSourceCreator'
八月 28, 2016 1:58:10 下午 org.apache.openejb.OpenEJB$Instance <init>
信息: ********************************************************************************
八月 28, 2016 1:58:10 下午 org.apache.openejb.OpenEJB$Instance <init>
信息: OpenEJB http://tomee.apache.org/
八月 28, 2016 1:58:10 下午 org.apache.openejb.OpenEJB$Instance <init>
信息: Startup: Sun Aug 28 13:58:10 CST 2016
八月 28, 2016 1:58:10 下午 org.apache.openejb.OpenEJB$Instance <init>
信息: Copyright 1999-2015 (C) Apache OpenEJB/TomEE Project, All Rights Reserved.
八月 28, 2016 1:58:10 下午 org.apache.openejb.OpenEJB$Instance <init>
信息: Version: 4.7.4
八月 28, 2016 1:58:10 下午 org.apache.openejb.OpenEJB$Instance <init>
信息: Build date: 20160304
八月 28, 2016 1:58:10 下午 org.apache.openejb.OpenEJB$Instance <init>
信息: Build time: 09:05
八月 28, 2016 1:58:10 下午 org.apache.openejb.OpenEJB$Instance <init>
信息: ********************************************************************************
八月 28, 2016 1:58:10 下午 org.apache.openejb.OpenEJB$Instance <init>
信息: openejb.home = E:e omeeapache-tomee-webprofile-1.7.4
八月 28, 2016 1:58:10 下午 org.apache.openejb.OpenEJB$Instance <init>
信息: openejb.base = E:e omeeapache-tomee-webprofile-1.7.4
八月 28, 2016 1:58:10 下午 org.apache.openejb.cdi.CdiBuilder initializeOWB
信息: Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@ba94b54
八月 28, 2016 1:58:10 下午 org.apache.openejb.cdi.CdiBuilder initializeOWB
信息: Succeeded in installing singleton service
八月 28, 2016 1:58:10 下午 org.apache.openejb.config.ConfigurationFactory init
信息: openejb configuration file is 'E:e omeeapache-tomee-webprofile-1.7.4conf omee.xml'
八月 28, 2016 1:58:10 下午 org.apache.openejb.config.ConfigurationFactory configureService
信息: Configuring Service(id=Tomcat Security Service, type=SecurityService, provider-id=Tomcat Security Service)
八月 28, 2016 1:58:10 下午 org.apache.openejb.config.ConfigurationFactory configureService
信息: Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
八月 28, 2016 1:58:10 下午 org.apache.openejb.util.OptionsLog info
信息: Using 'openejb.system.apps=true'
八月 28, 2016 1:58:10 下午 org.apache.openejb.config.ConfigurationFactory configureApplication
信息: Configuring enterprise application: openejb
八月 28, 2016 1:58:10 下午 org.apache.openejb.config.InitEjbDeployments deploy
信息: Using openejb.deploymentId.format '{ejbName}'
八月 28, 2016 1:58:10 下午 org.apache.openejb.config.InitEjbDeployments deploy
信息: Auto-deploying ejb openejb/Deployer: EjbDeployment(deployment-id=openejb/Deployer)
八月 28, 2016 1:58:10 下午 org.apache.openejb.config.InitEjbDeployments deploy
信息: Auto-deploying ejb openejb/ConfigurationInfo: EjbDeployment(deployment-id=openejb/ConfigurationInfo)
八月 28, 2016 1:58:10 下午 org.apache.openejb.config.InitEjbDeployments deploy
信息: Auto-deploying ejb MEJB: EjbDeployment(deployment-id=MEJB)
八月 28, 2016 1:58:10 下午 org.apache.openejb.config.ConfigurationFactory configureService
信息: Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
八月 28, 2016 1:58:10 下午 org.apache.openejb.config.AutoConfig createContainer
信息: Auto-creating a container for bean openejb/Deployer: Container(type=STATELESS, id=Default Stateless Container)
八月 28, 2016 1:58:10 下午 org.apache.openejb.config.AppInfoBuilder build
信息: Enterprise application "openejb" loaded.
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler createRecipe
信息: Creating TransactionManager(id=Default Transaction Manager)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler createRecipe
信息: Creating SecurityService(id=Tomcat Security Service)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler createRecipe
信息: Creating Container(id=Default Stateless Container)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler createAppClassLoader
信息: Not creating another application classloader for openejb
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Assembling app: openejb
八月 28, 2016 1:58:10 下午 org.apache.openejb.util.OptionsLog info
信息: Using 'openejb.jndiname.format={deploymentId}{interfaceType.openejbLegacyName}'
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.JndiBuilder bind
信息: Jndi(name=openejb/DeployerBusinessRemote) --> Ejb(deployment-id=openejb/Deployer)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.JndiBuilder bind
信息: Jndi(name=global/openejb/openejb/Deployer!org.apache.openejb.assembler.Deployer) --> Ejb(deployment-id=openejb/Deployer)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.JndiBuilder bind
信息: Jndi(name=global/openejb/openejb/Deployer) --> Ejb(deployment-id=openejb/Deployer)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.JndiBuilder bind
信息: Jndi(name=openejb/ConfigurationInfoBusinessRemote) --> Ejb(deployment-id=openejb/ConfigurationInfo)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.JndiBuilder bind
信息: Jndi(name=global/openejb/openejb/ConfigurationInfo!org.apache.openejb.assembler.classic.cmd.ConfigurationInfo) --> Ejb(deployment-id=openejb/ConfigurationInfo)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.JndiBuilder bind
信息: Jndi(name=global/openejb/openejb/ConfigurationInfo) --> Ejb(deployment-id=openejb/ConfigurationInfo)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.JndiBuilder bind
信息: Jndi(name=MEJB) --> Ejb(deployment-id=MEJB)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.JndiBuilder bind
信息: Jndi(name=global/openejb/MEJB!javax.management.j2ee.ManagementHome) --> Ejb(deployment-id=MEJB)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.JndiBuilder bind
信息: Jndi(name=global/openejb/MEJB) --> Ejb(deployment-id=MEJB)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler startEjbs
信息: Created Ejb(deployment-id=openejb/Deployer, ejb-name=openejb/Deployer, container=Default Stateless Container)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler startEjbs
信息: Created Ejb(deployment-id=MEJB, ejb-name=MEJB, container=Default Stateless Container)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler startEjbs
信息: Created Ejb(deployment-id=openejb/ConfigurationInfo, ejb-name=openejb/ConfigurationInfo, container=Default Stateless Container)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler startEjbs
信息: Started Ejb(deployment-id=openejb/Deployer, ejb-name=openejb/Deployer, container=Default Stateless Container)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler startEjbs
信息: Started Ejb(deployment-id=MEJB, ejb-name=MEJB, container=Default Stateless Container)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler startEjbs
信息: Started Ejb(deployment-id=openejb/ConfigurationInfo, ejb-name=openejb/ConfigurationInfo, container=Default Stateless Container)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler deployMBean
信息: Deployed MBean(openejb.user.mbeans:application=openejb,group=org.apache.openejb.assembler.monitoring,name=JMXDeployer)
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Deployed Application(path=openejb)
八月 28, 2016 1:58:10 下午 org.apache.openejb.server.SimpleServiceManager start
信息: ** Bound Services **
八月 28, 2016 1:58:10 下午 org.apache.openejb.server.SimpleServiceManager printRow
信息: NAME IP PORT
八月 28, 2016 1:58:10 下午 org.apache.openejb.server.SimpleServiceManager start
信息: -------
八月 28, 2016 1:58:10 下午 org.apache.openejb.server.SimpleServiceManager start
信息: Ready!
八月 28, 2016 1:58:10 下午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 2001 ms
八月 28, 2016 1:58:10 下午 org.apache.tomee.catalina.OpenEJBNamingContextListener bindResource
信息: Importing a Tomcat Resource with id 'UserDatabase' of type 'org.apache.catalina.UserDatabase'.
八月 28, 2016 1:58:10 下午 org.apache.openejb.assembler.classic.Assembler createRecipe
信息: Creating Resource(id=UserDatabase)
八月 28, 2016 1:58:10 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
八月 28, 2016 1:58:10 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat (TomEE)/7.0.68 (1.7.4)
八月 28, 2016 1:58:10 下午 org.apache.catalina.startup.HostConfig deployWAR
信息: Deploying web application archive E:e omeeapache-tomee-webprofile-1.7.4webapps omee.war
八月 28, 2016 1:58:10 下午 org.apache.tomee.catalina.TomcatWebAppBuilder init
信息: ------------------------- localhost -> /tomee
八月 28, 2016 1:58:11 下午 org.apache.openejb.config.ConfigurationFactory configureApplication
信息: Configuring enterprise application: E:e omeeapache-tomee-webprofile-1.7.4webapps omee
八月 28, 2016 1:58:11 下午 org.apache.openejb.config.AppInfoBuilder build
信息: Enterprise application "E:e omeeapache-tomee-webprofile-1.7.4webapps omee" loaded.
八月 28, 2016 1:58:11 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Assembling app: E:e omeeapache-tomee-webprofile-1.7.4webapps omee
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.CdiBuilder initSingleton
信息: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@ba94b54
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.OpenEJBLifecycle startApplication
信息: OpenWebBeans Container is starting...
八月 28, 2016 1:58:11 下午 org.apache.webbeans.plugins.PluginLoader startUp
信息: Adding OpenWebBeansPlugin : [CdiPlugin]
八月 28, 2016 1:58:11 下午 org.apache.webbeans.plugins.PluginLoader startUp
信息: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
八月 28, 2016 1:58:11 下午 org.apache.webbeans.config.BeansDeployer validateInjectionPoints
信息: All injection points were validated successfully.
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.OpenEJBLifecycle startApplication
信息: OpenWebBeans Container has started, it took 94 ms.
八月 28, 2016 1:58:11 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Deployed Application(path=E:e omeeapache-tomee-webprofile-1.7.4webapps omee)
八月 28, 2016 1:58:11 下午 org.apache.catalina.startup.HostConfig deployWAR
信息: Deployment of web application archive E:e omeeapache-tomee-webprofile-1.7.4webapps omee.war has finished in 453 ms
八月 28, 2016 1:58:11 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory E:e omeeapache-tomee-webprofile-1.7.4webappsdocs
八月 28, 2016 1:58:11 下午 org.apache.tomee.catalina.TomcatWebAppBuilder init
信息: ------------------------- localhost -> /docs
八月 28, 2016 1:58:11 下午 org.apache.openejb.config.ConfigurationFactory configureApplication
信息: Configuring enterprise application: E:e omeeapache-tomee-webprofile-1.7.4webappsdocs
八月 28, 2016 1:58:11 下午 org.apache.openejb.config.AppInfoBuilder build
信息: Enterprise application "E:e omeeapache-tomee-webprofile-1.7.4webappsdocs" loaded.
八月 28, 2016 1:58:11 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Assembling app: E:e omeeapache-tomee-webprofile-1.7.4webappsdocs
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.CdiBuilder initSingleton
信息: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@ba94b54
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.OpenEJBLifecycle startApplication
信息: OpenWebBeans Container is starting...
八月 28, 2016 1:58:11 下午 org.apache.webbeans.plugins.PluginLoader startUp
信息: Adding OpenWebBeansPlugin : [CdiPlugin]
八月 28, 2016 1:58:11 下午 org.apache.webbeans.plugins.PluginLoader startUp
信息: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
八月 28, 2016 1:58:11 下午 org.apache.webbeans.config.BeansDeployer validateInjectionPoints
信息: All injection points were validated successfully.
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.OpenEJBLifecycle startApplication
信息: OpenWebBeans Container has started, it took 15 ms.
八月 28, 2016 1:58:11 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Deployed Application(path=E:e omeeapache-tomee-webprofile-1.7.4webappsdocs)
八月 28, 2016 1:58:11 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory E:e omeeapache-tomee-webprofile-1.7.4webappsdocs has finished in 125 ms
八月 28, 2016 1:58:11 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory E:e omeeapache-tomee-webprofile-1.7.4webappshost-manager
八月 28, 2016 1:58:11 下午 org.apache.tomee.catalina.TomcatWebAppBuilder init
信息: ------------------------- localhost -> /host-manager
八月 28, 2016 1:58:11 下午 org.apache.openejb.config.ConfigurationFactory configureApplication
信息: Configuring enterprise application: E:e omeeapache-tomee-webprofile-1.7.4webappshost-manager
八月 28, 2016 1:58:11 下午 org.apache.openejb.config.AppInfoBuilder build
信息: Enterprise application "E:e omeeapache-tomee-webprofile-1.7.4webappshost-manager" loaded.
八月 28, 2016 1:58:11 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Assembling app: E:e omeeapache-tomee-webprofile-1.7.4webappshost-manager
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.CdiBuilder initSingleton
信息: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@ba94b54
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.OpenEJBLifecycle startApplication
信息: OpenWebBeans Container is starting...
八月 28, 2016 1:58:11 下午 org.apache.webbeans.plugins.PluginLoader startUp
信息: Adding OpenWebBeansPlugin : [CdiPlugin]
八月 28, 2016 1:58:11 下午 org.apache.webbeans.plugins.PluginLoader startUp
信息: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
八月 28, 2016 1:58:11 下午 org.apache.webbeans.config.BeansDeployer validateInjectionPoints
信息: All injection points were validated successfully.
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.OpenEJBLifecycle startApplication
信息: OpenWebBeans Container has started, it took 16 ms.
八月 28, 2016 1:58:11 下午 org.apache.tomee.catalina.TomcatWebAppBuilder deployWebApps
信息: using context file E:e omeeapache-tomee-webprofile-1.7.4webappshost-managerMETA-INFcontext.xml
八月 28, 2016 1:58:11 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Deployed Application(path=E:e omeeapache-tomee-webprofile-1.7.4webappshost-manager)
八月 28, 2016 1:58:11 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory E:e omeeapache-tomee-webprofile-1.7.4webappshost-manager has finished in 125 ms
八月 28, 2016 1:58:11 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory E:e omeeapache-tomee-webprofile-1.7.4webappsmanager
八月 28, 2016 1:58:11 下午 org.apache.tomee.catalina.TomcatWebAppBuilder init
信息: ------------------------- localhost -> /manager
八月 28, 2016 1:58:11 下午 org.apache.openejb.config.ConfigurationFactory configureApplication
信息: Configuring enterprise application: E:e omeeapache-tomee-webprofile-1.7.4webappsmanager
八月 28, 2016 1:58:11 下午 org.apache.openejb.config.AppInfoBuilder build
信息: Enterprise application "E:e omeeapache-tomee-webprofile-1.7.4webappsmanager" loaded.
八月 28, 2016 1:58:11 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Assembling app: E:e omeeapache-tomee-webprofile-1.7.4webappsmanager
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.CdiBuilder initSingleton
信息: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@ba94b54
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.OpenEJBLifecycle startApplication
信息: OpenWebBeans Container is starting...
八月 28, 2016 1:58:11 下午 org.apache.webbeans.plugins.PluginLoader startUp
信息: Adding OpenWebBeansPlugin : [CdiPlugin]
八月 28, 2016 1:58:11 下午 org.apache.webbeans.plugins.PluginLoader startUp
信息: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
八月 28, 2016 1:58:11 下午 org.apache.webbeans.config.BeansDeployer validateInjectionPoints
信息: All injection points were validated successfully.
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.OpenEJBLifecycle startApplication
信息: OpenWebBeans Container has started, it took 16 ms.
八月 28, 2016 1:58:11 下午 org.apache.tomee.catalina.TomcatWebAppBuilder deployWebApps
信息: using context file E:e omeeapache-tomee-webprofile-1.7.4webappsmanagerMETA-INFcontext.xml
八月 28, 2016 1:58:11 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Deployed Application(path=E:e omeeapache-tomee-webprofile-1.7.4webappsmanager)
八月 28, 2016 1:58:11 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory E:e omeeapache-tomee-webprofile-1.7.4webappsmanager has finished in 109 ms
八月 28, 2016 1:58:11 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory E:e omeeapache-tomee-webprofile-1.7.4webappsROOT
八月 28, 2016 1:58:11 下午 org.apache.tomee.catalina.TomcatWebAppBuilder init
信息: ------------------------- localhost -> /
八月 28, 2016 1:58:11 下午 org.apache.openejb.config.ConfigurationFactory configureApplication
信息: Configuring enterprise application: E:e omeeapache-tomee-webprofile-1.7.4webappsROOT
八月 28, 2016 1:58:11 下午 org.apache.openejb.config.AppInfoBuilder build
信息: Enterprise application "E:e omeeapache-tomee-webprofile-1.7.4webappsROOT" loaded.
八月 28, 2016 1:58:11 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Assembling app: E:e omeeapache-tomee-webprofile-1.7.4webappsROOT
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.CdiBuilder initSingleton
信息: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@ba94b54
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.OpenEJBLifecycle startApplication
信息: OpenWebBeans Container is starting...
八月 28, 2016 1:58:11 下午 org.apache.webbeans.plugins.PluginLoader startUp
信息: Adding OpenWebBeansPlugin : [CdiPlugin]
八月 28, 2016 1:58:11 下午 org.apache.webbeans.plugins.PluginLoader startUp
信息: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
八月 28, 2016 1:58:11 下午 org.apache.webbeans.config.BeansDeployer validateInjectionPoints
信息: All injection points were validated successfully.
八月 28, 2016 1:58:11 下午 org.apache.openejb.cdi.OpenEJBLifecycle startApplication
信息: OpenWebBeans Container has started, it took 15 ms.
八月 28, 2016 1:58:11 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Deployed Application(path=E:e omeeapache-tomee-webprofile-1.7.4webappsROOT)
八月 28, 2016 1:58:11 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory E:e omeeapache-tomee-webprofile-1.7.4webappsROOT has finished in 109 ms
八月 28, 2016 1:58:11 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-bio-8080"]
八月 28, 2016 1:58:11 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
八月 28, 2016 1:58:11 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 1000 ms
八月 28, 2016 1:58:21 下午 org.apache.openejb.config.ConfigurationFactory configureApplication
信息: Configuring enterprise application: E:e omeeapache-tomee-webprofile-1.7.4webappshelloejb-1.0.jar
八月 28, 2016 1:58:21 下午 org.apache.openejb.config.InitEjbDeployments deploy
信息: Auto-deploying ejb HelloBean: EjbDeployment(deployment-id=HelloBean)
八月 28, 2016 1:58:21 下午 org.apache.openejb.config.AppInfoBuilder build
信息: Enterprise application "E:e omeeapache-tomee-webprofile-1.7.4webappshelloejb-1.0.jar" loaded.
八月 28, 2016 1:58:21 下午 org.apache.openejb.assembler.classic.Assembler createAppClassLoader
信息: Creating dedicated application classloader for helloejb-1.0
八月 28, 2016 1:58:21 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Assembling app: E:e omeeapache-tomee-webprofile-1.7.4webappshelloejb-1.0.jar
八月 28, 2016 1:58:21 下午 org.apache.openejb.assembler.classic.JndiBuilder bind
信息: Jndi(name=HelloBeanRemote) --> Ejb(deployment-id=HelloBean)
八月 28, 2016 1:58:21 下午 org.apache.openejb.assembler.classic.JndiBuilder bind
信息: Jndi(name=global/helloejb-1.0/HelloBean!cn.zno.Hello) --> Ejb(deployment-id=HelloBean)
八月 28, 2016 1:58:21 下午 org.apache.openejb.assembler.classic.JndiBuilder bind
信息: Jndi(name=global/helloejb-1.0/HelloBean) --> Ejb(deployment-id=HelloBean)
八月 28, 2016 1:58:21 下午 org.apache.openejb.cdi.CdiBuilder initSingleton
信息: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@ba94b54
八月 28, 2016 1:58:21 下午 org.apache.openejb.cdi.OpenEJBLifecycle startApplication
信息: OpenWebBeans Container is starting...
八月 28, 2016 1:58:21 下午 org.apache.webbeans.plugins.PluginLoader startUp
信息: Adding OpenWebBeansPlugin : [CdiPlugin]
八月 28, 2016 1:58:21 下午 org.apache.webbeans.plugins.PluginLoader startUp
信息: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
八月 28, 2016 1:58:21 下午 org.apache.webbeans.config.BeansDeployer validateInjectionPoints
信息: All injection points were validated successfully.
八月 28, 2016 1:58:21 下午 org.apache.openejb.cdi.OpenEJBLifecycle startApplication
信息: OpenWebBeans Container has started, it took 16 ms.
八月 28, 2016 1:58:21 下午 org.apache.openejb.assembler.classic.Assembler startEjbs
信息: Created Ejb(deployment-id=HelloBean, ejb-name=HelloBean, container=Default Stateless Container)
八月 28, 2016 1:58:21 下午 org.apache.openejb.assembler.classic.Assembler startEjbs
信息: Started Ejb(deployment-id=HelloBean, ejb-name=HelloBean, container=Default Stateless Container)
八月 28, 2016 1:58:21 下午 org.apache.openejb.assembler.classic.Assembler createApplication
信息: Deployed Application(path=E:e omeeapache-tomee-webprofile-1.7.4webappshelloejb-1.0.jar)
执行 client (main方法)

成功!!