deltaspike-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pablo Pita <pablo.p...@gmail.com>
Subject problem trying to use DeltaSpike JMX annotations in a standalone main application
Date Fri, 26 Sep 2014 09:46:09 GMT
Hello all,

I am having a problem trying to use DeltaSpike JMX annotations in a
standalone main application.

For my tests, I have taken MyMBean from DS sources. When looking into the
JMX console JConsole, I see that MyMBean is registered but when trying to
access the counter attribute, this exception comes:

26.09.2014 11:18:20 org.apache.deltaspike.core.impl.jmx.DynamicMBeanWrapper
getAttribute
SCHWERWIEGEND: can't get counter value
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at
org.apache.deltaspike.core.impl.jmx.AttributeAccessor.get(AttributeAccessor.java:46)
    at
org.apache.deltaspike.core.impl.jmx.DynamicMBeanWrapper.getAttribute(DynamicMBeanWrapper.java:249)
    at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:666)
    at
com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:638)
    at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1431)
    at
javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:74)
    at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1295)
    at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1387)
    at
javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:630)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
    at sun.rmi.transport.Transport$1.run(Transport.java:159)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
    at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
    at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
    at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No
active contexts for scope type javax.enterprise.context.RequestScoped
    at
org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:608)
    at
org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:71)
    at
org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:104)
    at
org.jboss.weld.proxies.DynamicMockManager$-427240798$Proxy$_$$_WeldClientProxy.getMock(DynamicMockManager$-427240798$Proxy$_$$_WeldClientProxy.java)
    at
org.apache.deltaspike.testcontrol.impl.mock.MockAwareInjectionTargetWrapper.produce(MockAwareInjectionTargetWrapper.java:59)
    at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:296)
    at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:103)
    at
org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:90)
    at
org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:79)
    at
com.jmx.ds.MyMBean$Proxy$_$$_WeldClientProxy.getCounter(MyMBean$Proxy$_$$_WeldClientProxy.java)
    ... 27 more

I wonder if there is something I am missing to properly setup this case. I
am on Windows running JDK 6 and Weld 1.1.18.


The main program I am using is as follows:

    public static void main(String[] args) throws Exception {

        CdiContainer cdiContainer = CdiContainerLoader.getCdiContainer();
        cdiContainer.boot();

        // Starting the application-context and request-context allows to
use
        // @ApplicationScoped and @RequestScoped beans
        ContextControl contextControl = cdiContainer.getContextControl();
        contextControl.startContext(ApplicationScoped.class);
        contextControl.startContext(RequestScoped.class);

        // we can use CDI here
         while (running) {
            int i = 0;
            i = i + 1;
            Thread.sleep(50);
        }
        cdiContainer.shutdown();
    }

Thanks for any feedback,
-- 
Pablo Pita Leira

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message