Bonjour à tous, je construit actuellement une petite application JEE de test sous JBoss 4.2, qui nécessite des composant EJB et SAR dans une même EAR.
J'ai donc développé le composant sar (très simple) et dont voici le code:

interface du Composant sar
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
/**
 * 
 */
package com.yashiro.test.jboss.jmx;
 
import org.jboss.system.ServiceMBean;
 
/**
 * Interface du service
 * @author Jean-Jacques
 * @version 1.0
 */
public interface StarterServiceMBean extends ServiceMBean {
 
	/**
         * Mise en place de l'attribut 1
         * @param value_1       Valeur 1
         */
	public void setAttribute_1(Integer value_1);
 
	/**
         * Mise en place de l'attribut 2
         * @param value_2       Valeur 2
         */
	public void setAttribute_2(Integer value_2);
}
Implémentation du composant sar
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 
/**
 * 
 */
package com.yashiro.test.jboss.jmx;
 
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jboss.system.ServiceMBeanSupport;
 
/**
 * Implementation du service
 * @author Jean-Jacques
 * @version 1.0 
 */
public class StarterService extends ServiceMBeanSupport implements StarterServiceMBean {
 
	/**
         * Logger
         */
	private static Log logger = LogFactory.getLog(StarterService.class);
 
	/**
         * Constructeur
         */
	public StarterService() {}
 
	@Override
	public void start() throws Exception {
 
		// Un Log
		logger.info("StarterService#ctor --- Start");
 
	}
 
	@Override
	public void stop() {
 
		// Un Log
		logger.info("StarterService#ctor --- Stop");
 
	}
 
 
	/* (non-Javadoc)
	 * @see org.jboss.system.Service#create()
	 */
	@Override
	public void create() throws Exception {
 
		// Un Log
		logger.info("StarterService#ctor --- Create");
 
	}
 
	/* (non-Javadoc)
	 * @see org.jboss.system.Service#destroy()
	 */
	@Override
	public void destroy() {
 
		// Un Log
		logger.info("StarterService#ctor --- Destroy");
 
	}
 
	@Override
	public void setAttribute_1(Integer value_1) {
 
		// Un Log
		logger.info("StarterService#ctor --- setAttribute_1");
 
	}
 
	@Override
	public void setAttribute_2(Integer value_2) {
 
		// Un Log
		logger.info("StarterService#ctor --- setAttribute_2");
 
	}
 
}
Ensuite j'empaquête le composant dans une archive sar.

Le problème que je rencontre est le suivant:
Lorsque je déploie l'archive toute seule (le .sar dans le répertoire deploy), le composant est bien déployé.
Mais lorsque je le référence dans l'EAR (dans jboss-app.xml, tout en l'ajoutant comme module), le déploiement me génère l'erreur suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
08:58:14,609 ERROR [MainDeployer] Could not create deployment: file:/I:/Developpements/JBossJFreeSX/server/default/tmp/deploy/tmp2904342672213488024AccountingEngine-Detector-Test.ear-contents/Intro-JBoss-JMX-01.sar
org.jboss.deployment.DeploymentException: Class does not expose a management interface: java.lang.Object; - nested throwable: (javax.management.NotCompliantMBeanException: Class does not expose a management interface: java.lang.Object)
	at org.jboss.system.ServiceConfigurator.install(ServiceConfigurator.java:196)
	at org.jboss.system.ServiceController.install(ServiceController.java:226)
	at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
	at $Proxy4.install(Unknown Source)
	at org.jboss.deployment.SARDeployer.create(SARDeployer.java:249)
	at org.jboss.deployment.MainDeployer.create(MainDeployer.java:969)
	at org.jboss.deployment.MainDeployer.create(MainDeployer.java:959)
	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:818)
	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
	at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
	at $Proxy9.deploy(Unknown Source)
	at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
Caused by: javax.management.NotCompliantMBeanException: Class does not expose a management interface: java.lang.Object
	at org.jboss.mx.metadata.MBeanCapability.of(MBeanCapability.java:102)
	at org.jboss.mx.metadata.MBeanCapability.of(MBeanCapability.java:100)
	at org.jboss.mx.server.registry.BasicMBeanRegistry.registerMBean(BasicMBeanRegistry.java:182)
	at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
	at org.jboss.mx.server.MBeanServerImpl$3.run(MBeanServerImpl.java:1422)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:1417)
	at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:1350)
	at org.jboss.mx.server.MBeanServerImpl.createMBean(MBeanServerImpl.java:345)
	at org.jboss.system.ServiceCreator.install(ServiceCreator.java:157)
	at org.jboss.system.ServiceConfigurator.internalInstall(ServiceConfigurator.java:449)
	at org.jboss.system.ServiceConfigurator.install(ServiceConfigurator.java:171)
	... 34 more
Je suis tout à fait dépassé du fait de l'incompréhension de l'exception. Si quelqu'un a déja pu résoudre un pareil problème!!!!! Prière de m'aider.