Hello,
i've got 2 GF 4 ....
on one(Service-GF) is the EJB deployed as an EAR Package!
And on the other one (Client-GF) we deployed an WAR Package.
The goal is to get access from the Client-GF (Business Activity Classes) to the Remote (Business Activity Classes) on the Service-GF.
Service-GF Interface Code:
public interface IBackendConfigurationBA {
public void createConfig(ConfigurationModel configurationModel);
[...]
Service-GF Bean Code:
@Singleton(name="BackendConfigurationBA", mappedName="BackendConfigurationBA")
@Startup
@Remote(IBackendConfigurationBA.class)
public class BackendConfigurationBA implements IBackendConfigurationBA {
private final Logger logger = LoggerFactory.getLogger(CirrusConfig.class);
private CirrusConfig cirrusConfig = CirrusConfig.getInstance();
private BackendConfigurationMapper configurationMapper = new BackendConfigurationMapper();
@EJB(beanName = "BackendConfigurationDAO")
private IBackendConfigurationDAO backendConfigDAO;
[...]
Client-GF Interface Code:
public interface IFrontendConfigurationBA {
public void reloadConfigs();
[...]
Client-GF Bean Code:
@Singleton
@Remote(IFrontendConfigurationBA.class)
public class FrontendConfigurationBA implements IFrontendConfigurationBA{
private final Logger logger = LoggerFactory.getLogger(CirrusConfig.class);
@EJB(name ="BackendConfigurationBA")
private IBackendConfigurationBA backendConfigurationBA;
[...]
What strategy should I use in order to connect both with each other.
I read here: http://docs.oracle.com/cd/E26576_01/doc.312/e24930/jndi.htm
The ejb-ref element in glassfish-web.xml looks like this:
in my case...i did this:
But this doesn't help. I get the Error:
[2014-01-22T13:54:22.516+0100] [glassfish 4.0] [SEVERE] [] [global] [tid: _ThreadID=37 _ThreadName=admin-listener(3)] [timeMillis: 1390395262516] [levelValue: 1000] [[
Class [ Lde/br/wtr/be/activity/configuration/IBackendConfigurationBA; ] not found. Error while loading [ class de.br.wtr.fe.configuration.FrontendConfigurationBA ]]]
[...]
[2014-01-22T13:54:22.657+0100] [glassfish 4.0] [SEVERE] [NCLS-CORE-00026] [javax.enterprise.system.core] [tid: _ThreadID=37 _ThreadName=admin-listener(3)] [timeMillis: 1390395262657] [levelValue: 1000] [[
Exception during lifecycle processing
java.lang.IllegalArgumentException: Invalid ejb jar wtr-web-0.0.1-SNAPSHOT: it contains zero ejb. A valid ejb jar requires at least one session/entity/message driven bean.
at org.glassfish.ejb.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:147)
at org.glassfish.ejb.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:112)
at com.sun.enterprise.deployment.BundleDescriptor.visit(BundleDescriptor.java:621)
at org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl.visit(EjbBundleDescriptorImpl.java:757)
at com.sun.enterprise.deployment.util.ApplicationValidator.accept(ApplicationValidator.java:116)
at com.sun.enterprise.deployment.BundleDescriptor.visit(BundleDescriptor.java:621)
at com.sun.enterprise.deployment.archivist.ApplicationFactory.openArchive(ApplicationFactory.java:190)
at org.glassfish.javaee.core.deployment.DolProvider.processDOL(DolProvider.java:198)
at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:222)
at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:96)
at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:878)
at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:818)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:374)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:527)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:523)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:356)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:522)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:546)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1423)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1500(CommandRunnerImpl.java:108)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1762)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1674)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534)
at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224)
at org.glassfish.grizzly.http.server.StaticHttpHandler.service(StaticHttpHandler.java:297)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:246)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
at java.lang.Thread.run(Thread.java:722)
]]
[2014-01-22T13:54:22.664+0100] [glassfish 4.0] [SEVERE] [] [javax.enterprise.system.core] [tid: _ThreadID=37 _ThreadName=admin-listener(3)] [timeMillis: 1390395262664] [levelValue: 1000] [[
Exception while deploying the app [wtr-web-0.0.1-SNAPSHOT] : Invalid ejb jar wtr-web-0.0.1-SNAPSHOT: it contains zero ejb. A valid ejb jar requires at least one session/entity/message driven bean.]]
Thank you in advance
Grau