-
1. Re: Can I use @Ejb in an MBean?
alrubinger Feb 12, 2007 10:11 AM (in response to khkachn)The "@EJB" (javax.ejb.EJB) annotation, yep.
S,
ALR -
2. Re: Can I use @Ejb in an MBean?
khkachn Feb 14, 2007 4:10 PM (in response to khkachn)I must be doing something wrong then, the ejb is always null in my MBean.
Here is my stuff:
EJB:
@Local
public interface WsClientEJB {
public String getName();
}
@Stateless
public class WsClientEJBBean implements WsClientEJB {
public String getName() {
return "Ken";
}
}
MBean:
public class ContentClient extends ServiceMBeanSupport implements
ContentClientMBean {
@EJB
private WsClientEJB myEjb;
...
public String runWsGetDoc(String id) {
String rtn = "";
if (null == myEjb){
rtn = "its null";
}
else {
rtn = myEjb.getName();
}
return rtn;
}
I have tried this with and without an ejb-jar.xml and setting @LocalBinding and mappedName= in the @EJB
I am using 4.0.5.GA
There is a bunch of logging for the MBean and ejb bean, which I have included below:
2007-02-14 15:41:59,833 DEBUG [org.jboss.deployment.MainDeployer] Starting deployment of package: file:/usr/local/jboss405/server/default/deploy/ContentClient.sar
2007-02-14 15:41:59,833 DEBUG [org.jboss.deployment.MainDeployer] Starting deployment (init step) of package at: file:/usr/local/jboss405/server/default/deploy/ContentClient.sar
2007-02-14 15:41:59,833 DEBUG [org.jboss.deployment.MainDeployer] Copying file:/usr/local/jboss405/server/default/deploy/ContentClient.sar -> /usr/local/jboss405/server/default/tmp/deploy/tmp65014ContentClient.sar
2007-02-14 15:41:59,833 DEBUG [org.jboss.deployment.MainDeployer] using deployer org.jboss.deployment.SARDeployer@3af42ad0
2007-02-14 15:41:59,847 DEBUG [org.jboss.deployment.SARDeployer] about to copy 0 local directories
2007-02-14 15:41:59,847 DEBUG [org.jboss.deployment.SARDeployer] looking for nested deployments in : file:/usr/local/jboss405/server/default/deploy/ContentClient.sar
2007-02-14 15:41:59,848 DEBUG [org.jboss.deployment.DeploymentInfo] createLoaderRepository from config: LoaderRepositoryConfig(repositoryName: JMImplementation:service=LoaderRepository,name=Default, repositoryClassName: null, configParserClassName: null, repositoryConfig: null)
2007-02-14 15:41:59,848 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.UnifiedLoaderRepository3@6627e353, cl=org.jboss.mx.loading.UnifiedClassLoader3@3ef07355{ url=file:/usr/local/jboss405/server/default/tmp/deploy/tmp65014ContentClient.sar ,addedOrder=0}
2007-02-14 15:41:59,848 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.UnifiedLoaderRepository3@6627e353, cl=org.jboss.mx.loading.UnifiedClassLoader3@3ef07355{ url=file:/usr/local/jboss405/server/default/tmp/deploy/tmp65014ContentClient.sar ,addedOrder=0}
2007-02-14 15:41:59,848 DEBUG [org.jboss.mx.loading.UnifiedLoaderRepository3] Adding org.jboss.mx.loading.UnifiedClassLoader3@3ef07355{ url=file:/usr/local/jboss405/server/default/tmp/deploy/tmp65014ContentClient.sar ,addedOrder=0}
2007-02-14 15:41:59,849 DEBUG [org.jboss.deployment.MainDeployer] found 0 subpackages of file:/usr/local/jboss405/server/default/deploy/ContentClient.sar
2007-02-14 15:41:59,850 DEBUG [org.jboss.deployment.MainDeployer] Watching new file: file:/usr/local/jboss405/server/default/deploy/ContentClient.sar
2007-02-14 15:41:59,850 DEBUG [org.jboss.deployment.MainDeployer] create step for deployment file:/usr/local/jboss405/server/default/deploy/ContentClient.sar
2007-02-14 15:41:59,850 DEBUG [org.jboss.deployment.SARDeployer] Deploying SAR, create step: url file:/usr/local/jboss405/server/default/deploy/ContentClient.sar
2007-02-14 15:41:59,850 DEBUG [org.jboss.deployment.SARDeployer] Registering service UCL=jmx.loading:UCL=3ef07355
2007-02-14 15:41:59,851 DEBUG [org.jboss.system.ServiceCreator] About to create bean: ken:service=ContentClient with code: wsclient.ContentClient
2007-02-14 15:41:59,856 DEBUG [org.jboss.system.ServiceCreator] Created bean: ken:service=ContentClient
2007-02-14 15:41:59,856 DEBUG [org.jboss.system.ServiceController] Creating service ken:service=ContentClient
2007-02-14 15:41:59,857 DEBUG [wsclient.ContentClient] Creating ken:service=ContentClient
2007-02-14 15:41:59,857 DEBUG [wsclient.ContentClient] Created ken:service=ContentClient
2007-02-14 15:41:59,857 DEBUG [org.jboss.system.ServiceController] Creating dependent components for: ken:service=ContentClient dependents are: []
2007-02-14 15:41:59,865 DEBUG [org.jboss.deployment.MainDeployer] Done with create step of deploying ContentClient.sar
2007-02-14 15:41:59,865 DEBUG [org.jboss.deployment.MainDeployer] Begin deployment start file:/usr/local/jboss405/server/default/deploy/ContentClient.sar
2007-02-14 15:41:59,865 DEBUG [org.jboss.deployment.SARDeployer] Deploying SAR, start step: url file:/usr/local/jboss405/server/default/deploy/ContentClient.sar
2007-02-14 15:41:59,865 DEBUG [org.jboss.system.ServiceController] starting service ken:service=ContentClient
2007-02-14 15:41:59,865 DEBUG [wsclient.ContentClient] Starting ken:service=ContentClient
2007-02-14 15:41:59,865 DEBUG [wsclient.ContentClient] Started ken:service=ContentClient
2007-02-14 15:41:59,865 DEBUG [org.jboss.system.ServiceController] Starting dependent components for: ken:service=ContentClient dependent components: []
2007-02-14 15:41:59,865 DEBUG [org.jboss.deployment.MainDeployer] End deployment start on package: ContentClient.sar
2007-02-14 15:41:59,865 DEBUG [org.jboss.deployment.MainDeployer] Deployed package: file:/usr/local/jboss405/server/default/deploy/ContentClient.sar
2007-02-14 15:41:59,865 DEBUG [org.jboss.deployment.scanner.URLDeploymentScanner] Watch URL for: file:/usr/local/jboss405/server/default/deploy/ContentClient.sar -> file:/usr/local/jboss405/server/default/deploy/ContentClient.sar
2007-02-14 15:42:15,846 DEBUG [org.jboss.deployment.MainDeployer] Starting deployment of package: file:/usr/local/jboss405/server/default/deploy/beans.jar
2007-02-14 15:42:15,846 DEBUG [org.jboss.deployment.MainDeployer] Starting deployment (init step) of package at: file:/usr/local/jboss405/server/default/deploy/beans.jar
2007-02-14 15:42:15,846 DEBUG [org.jboss.deployment.MainDeployer] Copying file:/usr/local/jboss405/server/default/deploy/beans.jar -> /usr/local/jboss405/server/default/tmp/deploy/tmp65098beans.jar
2007-02-14 15:42:15,878 DEBUG [org.jboss.deployment.MainDeployer] using deployer MBeanProxyExt[jboss.ejb3:service=EJB3Deployer] 2007-02-14 15:42:15,882 DEBUG [org.jboss.ejb3.EJB3Deployer] looking for nested deployments in : file:/usr/local/jboss405/server/default/deploy/beans.jar
2007-02-14 15:42:15,882 DEBUG [org.jboss.deployment.DeploymentInfo] createLoaderRepository from config: LoaderRepositoryConfig(repositoryName: JMImplementation: service=LoaderRepository,name=Default, repositoryClassName: null, configParserClassName: null, repositoryConfig: null)
2007-02-14 15:42:15,882 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.UnifiedLoaderRepository3@6627e353, cl=org.jboss.mx.loading.UnifiedClassLoader3@58c3d9ac{ url=file:/usr/local/jboss405/server/default/tmp/deploy/tmp65098beans.jar ,addedOrder=0}
2007-02-14 15:42:15,882 DEBUG [org.jboss.mx.loading.ClassLoaderUtils] Multiple class loaders found for pkg: wsclient
2007-02-14 15:42:15,882 DEBUG [org.jboss.deployment.MainDeployer] found 0 subpackages of file:/usr/local/jboss405/server/default/deploy/beans.jar
2007-02-14 15:42:15,882 DEBUG [org.jboss.deployment.MainDeployer] Watching new file: file:/usr/local/jboss405/server/default/deploy/beans.jar
2007-02-14 15:42:15,882 DEBUG [org.jboss.deployment.MainDeployer] create step for deployment file:/usr/local/jboss405/server/default/deploy/beans.jar
2007-02-14 15:42:15,882 DEBUG [org.jboss.ws.integration.jboss.DeployerInterceptorEJB3] create: file:/usr/local/jboss405/server/default/deploy/beans.jar
2007-02-14 15:42:15,882 DEBUG [org.jboss.ejb3.EJB3Deployer] create, beans.jar
2007-02-14 15:42:15,922 DEBUG [org.jboss.ejb3.EJB3Deployer] Deploying: file:/usr/local/jboss405/server/default/deploy/beans.jar
2007-02-14 15:42:15,922 DEBUG [org.jboss.system.ServiceController] Creating service jboss.j2ee:service=EJB3,module=beans.jar
2007-02-14 15:42:15,922 DEBUG [org.jboss.ejb3.Ejb3Module] Creating jboss.j2ee:service=EJB3,module=beans.jar
2007-02-14 15:42:15,926 DEBUG [org.jboss.ejb3.security.JaccHelper] Initialising JACC Context for deployment: beans.jar
2007-02-14 15:42:16,022 DEBUG [org.jboss.ejb3.Ejb3AnnotationHandler] found EJB3: ejbName=WsClientEJBBean, class=wsclient.WsClientEJBBean, type=STATELESS
2007-02-14 15:42:16,038 DEBUG [org.jboss.ejb3.ProxyDeployer] no declared remote bindings for : WsClientEJBBean
2007-02-14 15:42:16,050 INFO [org.jboss.ejb3.Ejb3Deployment] EJB3 deployment time took: 128
2007-02-14 15:42:16,050 DEBUG [org.jboss.ejb3.Ejb3Module] Created jboss.j2ee:service=EJB3,module=beans.jar
2007-02-14 15:42:16,050 DEBUG [org.jboss.system.ServiceController] Creating dependent components for: jboss.j2ee:service=EJB3,module=beans.jar dependents are: []
2007-02-14 15:42:16,054 DEBUG [org.jboss.deployment.MainDeployer] Done with create step of deploying beans.jar
2007-02-14 15:42:16,054 DEBUG [org.jboss.deployment.MainDeployer] Begin deployment start file:/usr/local/jboss405/server/default/deploy/beans.jar
2007-02-14 15:42:16,054 DEBUG [org.jboss.ws.integration.jboss.DeployerInterceptorEJB3] start: file:/usr/local/jboss405/server/default/deploy/beans.jar
2007-02-14 15:42:16,054 DEBUG [org.jboss.ejb3.EJB3Deployer] start application, deploymentInfo: org.jboss.deployment.DeploymentInfo@8ebcb57e { url=file:/usr/local/jboss405/server/default/deploy/beans.jar }
deployer: MBeanProxyExt[jboss.ejb3:service=EJB3Deployer]
status: Starting
state: START_DEPLOYER
watch: file:/usr/local/jboss405/server/default/deploy/beans.jar
altDD: null
lastDeployed: 1171485735882
lastModified: 1171485735000
mbeans:
, short name: beans.jar, parent short name: null
2007-02-14 15:42:16,054 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:service=EJB3,module=beans.jar
2007-02-14 15:42:16,054 DEBUG [org.jboss.ejb3.Ejb3Module] Starting jboss.j2ee:service=EJB3,module=beans.jar
2007-02-14 15:42:16,106 DEBUG [org.jboss.ejb3.EJBContainer] Initialising interceptors for WsClientEJBBean...
2007-02-14 15:42:16,106 DEBUG [org.jboss.ejb3.EJBContainer] Default interceptors: null
2007-02-14 15:42:16,110 DEBUG [org.jboss.ejb3.EJBContainer] Class interceptors:[]
2007-02-14 15:42:16,110 DEBUG [org.jboss.ejb3.EJBContainer] All applicable interceptor classes: []
2007-02-14 15:42:16,110 DEBUG [org.jboss.ejb3.JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
2007-02-14 15:42:16,138 INFO [org.jboss.ejb3.JmxKernelAbstraction] installing MBean: jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3 with dependencies:
2007-02-14 15:42:16,140 DEBUG [org.jboss.system.ServiceController] Creating service jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3
2007-02-14 15:42:16,141 DEBUG [org.jboss.system.ServiceController] adding depends in ServiceController.register: []
2007-02-14 15:42:16,141 DEBUG [org.jboss.ejb3.ServiceDelegateWrapper] Creating jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3
2007-02-14 15:42:16,141 DEBUG [org.jboss.ejb3.ServiceDelegateWrapper] Created jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3
2007-02-14 15:42:16,141 DEBUG [org.jboss.system.ServiceController] Creating dependent components for: jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3 dependents are: []
2007-02-14 15:42:16,141 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3
2007-02-14 15:42:16,141 DEBUG [org.jboss.ejb3.ServiceDelegateWrapper] Starting jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3
2007-02-14 15:42:16,141 DEBUG [org.jboss.system.ServiceController] adding depends in ServiceController.register: []
2007-02-14 15:42:16,141 DEBUG [org.jboss.ejb3.ServiceDelegateWrapper] Creating jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3
2007-02-14 15:42:16,141 DEBUG [org.jboss.ejb3.ServiceDelegateWrapper] Created jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3
2007-02-14 15:42:16,141 DEBUG [org.jboss.system.ServiceController] Creating dependent components for: jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3 dependents are: []
2007-02-14 15:42:16,141 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3
2007-02-14 15:42:16,141 DEBUG [org.jboss.ejb3.ServiceDelegateWrapper] Starting jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3
2007-02-14 15:42:16,298 DEBUG [org.jboss.ejb3.interceptor.EJB3InterceptorsFactory] Bound interceptors for joinpoint: public java.lang.String wsclient.WsClientEJBBean.getName() - [Lorg.jboss.ejb3.interceptor.InterceptorInfo;@48586403
2007-02-14 15:42:16,326 DEBUG [org.jboss.ejb3.tx.UserTransactionImpl] new UserTx: org.jboss.ejb3.tx.UserTransactionImpl@32c5f9fe
2007-02-14 15:42:16,342 DEBUG [org.jboss.ejb3.interceptor.EJB3InterceptorsFactory] Bound interceptors for joinpoint: public java.lang.String wsclient.WsClientEJBBean.getName() - [Lorg.jboss.ejb3.interceptor.InterceptorInfo;@5f47ff11
2007-02-14 15:42:16,343 DEBUG [org.jboss.ejb3.security.JaccHelper] WsClientEJBBean has no @SecurityDomain - skipping JACC configuration
2007-02-14 15:42:16,343 INFO [org.jboss.ejb3.EJBContainer] STARTED EJB: wsclient.WsClientEJBBean ejbName: WsClientEJBBean
2007-02-14 15:42:16,375 DEBUG [org.jboss.ejb.txtimer.EJBTimerServiceImpl] createTimerService: org.jboss.ejb.txtimer.TimerServiceImpl@1bd4f279
2007-02-14 15:42:16,381 DEBUG [org.jboss.ejb3.ServiceDelegateWrapper] Started jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3
2007-02-14 15:42:16,381 DEBUG [org.jboss.system.ServiceController] Starting dependent components for: jboss.j2ee:jar=beans.jar,name=WsClientEJBBean,service=EJB3 dependent components: []
2007-02-14 15:42:16,381 DEBUG [org.jboss.ejb3.Ejb3Deployment] Bound ejb3 container jboss.j2ee:service=EJB3,jar=beans.jar,name=WsClientEJBBean
2007-02-14 15:42:16,381 DEBUG [org.jboss.ejb3.security.JaccHelper] JACC Policy Configuration for deployment has been put in service
2007-02-14 15:42:16,381 DEBUG [org.jboss.ejb3.Ejb3Module] Started jboss.j2ee:service=EJB3,module=beans.jar 2007-02-14 15:42:16,381 DEBUG [org.jboss.system.ServiceController] Starting dependent components for: jboss.j2ee:service=EJB3,module=beans.jar dependent components: []
2007-02-14 15:42:16,381 INFO [org.jboss.ejb3.EJB3Deployer] Deployed: file:/usr/local/jboss405/server/default/deploy/beans.jar
2007-02-14 15:42:16,382 DEBUG [org.jboss.deployment.MainDeployer] End deployment start on package: beans.jar
2007-02-14 15:42:16,382 DEBUG [org.jboss.deployment.MainDeployer] Deployed package: file:/usr/local/jboss405/server/default/deploy/beans.jar
2007-02-14 15:42:16,382 DEBUG [org.jboss.deployment.scanner.URLDeploymentScanner] Watch URL for: file:/usr/local/jboss405/server/default/deploy/beans.jar -> file:/usr/local/jboss405/server/default/deploy/beans.jar -
3. Re: Can I use @Ejb in an MBean?
bdeen Feb 15, 2007 12:38 PM (in response to khkachn)Have you put a dependency on the EJBDeployer within your @Service?
Try something like
@Service (objectName="trail:service=calculator")
@Management(Calculator.class)
@Depends( "jboss.ejb3:service=EJB3Deployer" )
public class CalculatorMBean implements Calculator {
@Ejb TheBean myBean;
that way the EJBDeployer has a chance to init and start before your service does thereby ensuring that the EJB is around.
I wonder can you put a depends directly on the EJB itself. That would be the best I would think. -
4. Re: Can I use @Ejb in an MBean?
khkachn Feb 15, 2007 6:40 PM (in response to khkachn)I tried adding @Depends ("jboss.ejb3:service=EJB3Deployer") to the
class and jboss.ejb3:service=EJB3Deployer
to the jboss-service.xml, but my ejb is still null.
2007-02-15 18:30:45,342 DEBUG [org.jboss.system.ServiceController] Starting dependent components for: jboss.ejb3:service=EJB3Deployer dependent components: [ObjectName: ken:service=ContentClient
State: CREATED
I Depend On:
jboss.ejb3:service=EJB3Deployer
, ObjectName: jboss.ws:service=DeployerInterceptorEJB3
State: CREATED
I Depend On:
jboss.ejb3:service=EJB3Deployer
]
2007-02-15 18:30:45,342 DEBUG [org.jboss.system.ServiceController] starting service ken:service=ContentClient
2007-02-15 18:30:45,342 DEBUG [wsclient.ContentClient] Starting ken:service=ContentClient