Camel and jmx

i have a problem connecting a jmx client to camel. i just wanna connect to the default MBeans exposed by camel
so it shouldn't be much of a problem but it appears that it is ( for me :) )
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://MHO-WS-014:1099/camel");
JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
i can get a list of the domains .. so i know the connection is made
when i monitor jcamel with jconsole .. i see the name of a bean as : ManagedService
ObjectName stdMBeanName = new ObjectName("org.apache.camel.management:type=ManagedService");
String attrValue = (String)mbsc.getAttribute(stdMBeanName, "started");
but when i try to read an attribute from it i get :
javax.management.InstanceNotFoundException: org.apache.camel.management:type=ManagedService
     at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(Unknown Source)
     at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(Unknown Source)
     at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(Unknown Source)
     at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown Source)
     at javax.management.remote.rmi.RMIConnectionImpl.access$200(Unknown Source)
     at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown Source)
     at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown Source)
     at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(Unknown Source)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
     at sun.rmi.transport.Transport$1.run(Unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     at sun.rmi.transport.Transport.serviceCall(Unknown Source)
     at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
     at java.lang.Thread.run(Unknown Source)
     at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
     at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
     at sun.rmi.server.UnicastRef.invoke(Unknown Source)
     at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
     at javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown Source)
     at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(Unknown Source)
     at monex.MonexJMXClient.main(MonexJMXClient.java:102)

You might try adding a call to [MBeanServerConnection.queryNames(null,null)|http://java.sun.com/javase/6/docs/api/javax/management/MBeanServerConnection.html#queryNames(javax.management.ObjectName,%20javax.management.QueryExp)] to your custom client code and iterating over that list to see if the MBean Object Name you expected is registered. You can also use the [MBeanServerConnection.isRegistered|http://java.sun.com/javase/6/docs/api/javax/management/MBeanServerConnection.html#isRegistered(javax.management.ObjectName)] method.

Similar Messages

  • JMSML - XML Based Mark-Up Language for BEA WebLogic JMS and JMX

              JMSML is a Mark-Up language designed and developed to make Java Messaging Service
              (JMS) and Java Management Extensions (JMX) programming easy by hiding all the
              JMS and JMX Java API complexity behind a few, simple, easy to use XML tags.
              Both the White Paper and the binary download are available in dev2dev.beasys.com
              at the link below:
              http://dev2dev.beasys.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
              Regards
              [email protected]
              

    Hi,
    I finally managed to post a message to ActiveMQ 5.4.2 from WLS 10.3. I created a foreign JMS Server in WLS. I am not sure if you still have this issue, but I was facing this problem and managed to resolve it so posting the reply!
    I placed the activemq-all-5.4.2.jar file in WLS server classpath.
    The settings I used for the Foreign Server are:
    General tab
    JNDI Initial Context Factory: org.apache.activemq.jndi.ActiveMQInitialContextFactory
    JNDI Connection URL: tcp://localhost:61616
    Destinations Tab
    Name: TestQueue
    Local JNDI Name: TestQueue
    Remote JNDI Name: dynamicQueues/TestQueue (I tried with a normal queue, but it didn't work. So used dynamicQueues here. Will try with other queue also)
    Connection Factories Tab
    Name: AMQConnectionFactory (
    Local JNDI Name: AMQConnectionFactory
    Remote JNDI Name: ConnectionFactory (This is default name given by Active MQ, you can change by adding names in jndi.properties file and placing it in config folder of ActiveMQ installation. Please check here: http://activemq.apache.org/jndi-support.html)
    Using this configuration I was able to post message to ActiveMQ queue from Oracle Service Bus. One more issue to be taken care is that if the message type is not "Text" then the message body was coming as blank in ActiveMQ. So set the message type as "Text" explicitly.

  • What's the relationship between Agent and JMX-instrumented applications?

    Hi, I'm a beginner of EM and JMX. I'm trying to integrate my application with EM. After reading some documents, I find I need to make my application JMX-instrumented first and then design the plug-in. But I'm still a little confused about the relationship between the Agent and the JMX-instrumented appliactions.
    Here is what I'm confused:
    1. Should the EM Agent be installed in the host where my JMX-instrumented application is installed? If this is true, then that will mean Agent cannot monitor the remote resource. But it sounds not reasonable.
    2. When making the application JMX-instrumented, we should use the platform MBeanServer or create our own MBeanServer? Do they have a major difference? and will it impact the plug-in design?
    Thanks in advance.

    Answers to your queries:
    1. Should the EM Agent be installed in the host where my JMX-instrumented application is installed? If this is true, then that will mean Agent cannot monitor the remote resource. But it sounds not reasonable.
    Its not necessary that EM Agent should be installed on the same host where JMX-instrumented application is/are installed. EM Agent has a fetchlet (named OJMX) that can be used. Refer to [Management Using Web Services and JMX|http://download.oracle.com/docs/cd/B19306_01/em.102/b16246/web_jmx.htm] for more details on emjmxcli tool, which can help to build the plug-in which can monitor the MBeans. [EM Extensibility Guide|http://download.oracle.com/docs/cd/B19306_01/em.102/b16246/toc.htm] contains all the details for building a plug-in.
    2. When making the application JMX-instrumented, we should use the platform MBeanServer or create our own MBeanServer? Do they have a major difference? and will it impact the plug-in design?
    To best of my knowledge, plug-in design doesn't get impacted

  • Possible to connect between JMX 1.0 and JMX 1.2

    Hi,
    We have a module that needs to send notifications. This java module is running in a J2EE Weblogic 8.1 webapp server. Weblogic support JMX 1.0.
    Outside the J2EE server in another JVM we have the JMXAgent and the MBeans running as a regular server ( in J2SE). This server uses JMX 1.2 with the remote API ( not in JMX 1.0).
    Both use the jdk1.4.x version of java.
    The problem we have is to send the notification ( from weblogic) to the MBean since they support different JMX versions.
    Any hints?
    cheers,
    //mike

    Hi,
    You will need to use a proprietary connector to exchange notifications between a JMX 1.0 application and a JMX 1.2 application, because JMX Remote API connector servers will
    not work on top of JMX 1.0.
    If weblogic 8 implements such a proprietary connector, you might be able to use its server part in your weblogic application, and its client part from within a client JVM that contains JMX 1.2.
    http://e-docs.bea.com/wls/docs81/index.html
    You might also try to use other proprietary connectors, such as those offered by the
    Java DMK - for instance you could start a Java DMK 4.2 connector server (JDMK 4.2 is
    based on JMX 1.0) in your weblogic application, and uses Java DMK 5.1/OpenDMK
    in your JMX 1.2 client (Java DMK 4.2 and Java DMK 5.1/OpenDMK are inter-operable).
    http://java.sun.com/products/jdmk/release.html#42
    http://java.sun.com/products/jdmk
    https://opendmk.dev.java.net/
    Hope this helps,
    -- daniel
    http://blogs.sun.com/jmxetc

  • Webservices and JMX

    Hi,
    I am using JMX which supports HTTP, RMI, CORBA, TL1 and SNMP protocols. Now I am planning to include SOAP as well. Looking at this scenario, I have the following questions:
    1. Do I really need to support SOAP in JMX? The logic here is SOAP is already platform independent, so why not directly use webservices.
    2. Which version of Axis can be used with any SOAP implementation in JMX (Axis/Axis2)?
    3. Is there any commercially free connector available? If yes, how is the performance of this connector?
    4. What will be the deployment scenario (since there is not much documentation available)?
    Any inputs will be valuable.
    -Sandeep

    Pradeep,
    I have already tried this solution. Only this isn't a table for export, but for import. Normally thies shouldn't be a difference, but still no correct table in the RFC.
    My solution at this moment is to create a string from this table with delimiters and recreate the table in the RFC. I know this isn't the correct way, but better something than nothing.
    Just dragging the table from dataview isn't correct, the result is only the last row in the RFC function. I also tried the table as an import parameters with type tabletype, but this isn't the solution either.
    Maybe you or somebody else have an other approach?
    -Bart-

  • WLS 8.1 and JMX 1.2 remote API

    I am developing a web app that uses JMX 1.2 remote API to manager remote MBean
    servers. Even I put the JMX 1.2 jar files to the classpath, WLS still loads the
    previous version (1.0) of JMX bundled in weblogic.jar file, I think. And I am
    not eager to mess up weblogic.jar file either.
    Is there anyway to use JMX 1.2 remote API in WLS 8.1? If not, is there a patch
    from BEA? And when will JMX 1.2 be supported by WLS? Thanks,
    Jack

    The next release of WLS is tentatively scheduled some time early next
    year. JMX 1.2 will be supported in that release.
    Thanks,
    -satya
    Jack Liu wrote:
    Thanks for the reply. I heard BEA will release WLS 8.1 SP3 in June. Based on your
    message, JMX 1.2 will not be supported by any WLS 8.1. So can you give me an estimate
    of which release and when will JMX 1.2 be supported? Thanks!
    Satya Ghattu <[email protected]> wrote:
    Jack,
    JMX 1.2 Remote API will be supported in the next version of WLS. There
    is no patch available for 8.1 and as of now there are no intentions to
    support 8.1 with JMX 1.2.
    Thanks,
    -satya
    Jack Liu wrote:
    I am developing a web app that uses JMX 1.2 remote API to manager remoteMBean
    servers. Even I put the JMX 1.2 jar files to the classpath, WLS stillloads the
    previous version (1.0) of JMX bundled in weblogic.jar file, I think.And I am
    not eager to mess up weblogic.jar file either.
    Is there anyway to use JMX 1.2 remote API in WLS 8.1? If not, is therea patch
    from BEA? And when will JMX 1.2 be supported by WLS? Thanks,
    Jack

  • Hot deployment and JMX

    Hi,
    I need to know how classes are loaded in hot deployment. my problem is that I'm using a JMX server that has some MBeans registered into it, but when I redeploy an application, and the JMX server is recreated as are the MBeans, the JMX agent clearly points to the old instances of the MBeans instead of the redployed ones. It seems that only restarting the OC4J would fix the pointers.
    Is there any way to fix this? or do I have to restart the server every time I deploy an application?

    What option are you using for deployment ? Are you choosing re-deploy ? We recommend Oracle9iAS install in a test/production environment when
    the application has stabilized.
    Also if you are in a development mode and constantly changing your applications you should consider deploying your apps in standalone OC4J. You can choose to do open-expanded directory deployment.
    If you are using OC4J standalone:
    1) you can replace the EAR file in applications directory and it redeploys
    2) you can replace a Servlet class and change the time stamp on web.xml and it redeploys the srvlets
    3) It automatically redeploys the JSP files
    4) If your EJBs are changed, replace your EJBs and change the timestamp on application.xml and it redeploys
    Some of these options are disabled in OC4J embedded in Oracle9iAS to provide a stable environment for production applications.
    If you still have problems in hot-deployment in OC4J please send me a test case at [email protected]
    thanks
    Debu

  • RMI and JMX

    Hello,
    we are having problems trying to stop an RMI Server.
    We activate the options for JMX in the startup of Tomcat for JDK 1.5.0_04.
    all of this works fine, we can access remote with the JConsole without any problem. But when we stop the tomcat, it stops well, but a process of the RMI server remains in the system and the only way to stop is with a killall command.
    Somebody knows what its happend?? We have tried in windows and there it works fine, no RMI process or similar remains, it only happens in Linux.
    Thanks in advance

    Hi Steve,
    If you want to know more about RMI dynamic code downloading have a look at the following link:
    http://download.java.net/jdk6/docs/technotes/guides/rmi/codebase.html
    You should also know that you can supply a ClassLoader to both the JMXConnectorServer and JMXConnector at instantiation time in the environment map. This ClassLoader will be used by the JMX connectors to serialize/deserialize the method parameters and return values when getting and setting attributes, or invoking operations on a given MBean.
    If you want to know more about how classloading works within the JMX connectors have a look at Chapter 13 "Connectors" in the JMX 1.4 specification:
    http://download.java.net/jdk6/docs/technotes/guides/jmx/JMX_1_4_specification.pdf
    Regards,
    Luis-Miguel Alventosa
    JMX Java SE development team
    Sun Microsystems, Inc.

  • Problems with WSAD 5.1.1 and JMX

    Hi At All!
    I'm really newbie with JMX and i'm trying to implement a quick-and-dirty client JMX which connect with a server using IIOP://. I'm using a WSAD 5.1.1
    When try to execute, throws the next exception:
    "Exception in thread "P=xxxxxx:O=0:CT" java.lang.NoSuchMethodError: com.ibm.ws.orbimpl.transport.WSTCPTransportConnection: method getConnectTimeout()I not found"
    I don't understand what's happens!
    The client code is this:
    String jndiPath="/jndi/JMXConnector";
    String urlString = "service:jmx:iiop://127.0.0.1:2809" +jndiPath;
    JMXServiceURL url = new JMXServiceURL(urlString);
    Hashtable h = new Hashtable();
    h.put(InitialContext.PROVIDER_URL,"corbaloc:iiop:1.0@localhost:2809/NameService");
    h.put(InitialContext.PROVIDER_URL,"corbaloc:iiop:1.0@localhost:2809/HelloAgent");
    h.put(InitialContext.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
    try{
    JMXConnector jmxc = (JMXConnector) JMXConnectorFactory.connect(url,h);
    JMXConnectorFactory.connect(url);
    MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();}
    catch(Exception e){
    System.out.println("Error creating connection:");
    e.printStackTrace();
    Reading in forums I put the following jars in the client side
    naming.jar;namingclient.jar;jtsPrivate.jar;
    jmx-ri.jar;jmxremote.jar;ecutils.jar;
    bootstrap.jar; ffdc.jar; idl.jar;
    sas.jar; admin.jar; wsexception.jar;
    jmxc.jar; jmxext.jar; jmxx.jar;
    wasjmx.jar;ras.jar; iwsorb.jar;
    ibmorb.jar; ibmorbapi.jar
    Also i configure the implfactory.properties as follows:
    #Config Repository Remote Client
    com.ibm.websphere.management.repository.client.ConfigRepositoryClient.remote=
    com.ibm.ws.management.repository.client.JMXRemoteConfigRepositoryClient
    I hope your answers and thanks in advance!
    Best Regards!
    PD: Sorry my poor english!

    Same problem since last night (imac 2.5 i5, Lion 10.7.4, Safari 5.1.7).

  • EJB and JMX

    I need to instrumet dynamically grid application. Can anybody explain me the difference between Enterprise Java Beans and Java Management Extension ? Is it possible combine this two technologies? I?m going to use JBoss server. Please for answers
    Thank in advance

    EJB are being instrumented by MBeans.
    EJB are in JBoss Server bun MBeans in another space
    Is it right? I�m looking for some interesting idea
    � I mean some distributed application represented by
    EJB which enable to show how instrumentation work.
    Please notice I�m beginning my adventure with JMX
    and J2EE. EJBs are standard enterprise components conforming to the EJB specifications, and they are deployed in a EJB container (in your case JBoss). JBoss had the clever idea to also register each EJB deployed within it as an MBean, thus offering it for management (actually JBoss went well beyond this and defined the same JBoss as a JMX Microkernel, thus offering the infrastructure, not the functionality. Functionalities are then added to the JMX kernel as MBeans). For instance, if you deployed an entity bean with EJB 2.1 you could change a record in the database and to make the change effective in your JBoss environment (since due to caching the manual change in the database wouldn't be 'seen' by the entity bean) you could flush the cache. Now the EJB spec doesn't define any operation to flush the cache of an entity bean, yet with JBoss is possible, thanks to the fact that it exposed the EJB as a Managed Bean.
    If you want to see how instrumentation works, just open the JMX-console, which is an HTTP adaptor which offers a view of the JBoss MBean server.

  • Issue with Apache Camel and Kura

    Hi,
    I was trying to integrate Apache Camel with Kura since Apache Camel run as a separate container.
    I uploaded sample code @ https ://github.com/parulagrawal14/Came-Kura.
    As per steps mentioned in http ://camel.apache.org/kura.html I installed the following bundles.
    install file:///home/camel-core-2.15.2.jar
    install file:///home/camel-core-osgi-2.15.2.jar
    install file:///home/camel-kura-2.15.2.jar
    But while installing my camel-kura i am getting the below errors.
    install file:///home//org.eclipse.kura.example.camel_osgi_1.0.0.201506291149.jar
    !ENTRY org.eclipse.equinox.ds 4 0 2015-07-19 14:52:55.587
    !MESSAGE Exception occurred while creating new instance of component Component[
    name = org.eclipse.kura.example.camel_osgi
    activate = activate
    deactivate = deactivate
    modified =
    configuration-policy = optional
    factory = null
    autoenable = true
    immediate = true
    implementation = org.eclipse.kura.example.camel_osgi.KuraRouter
    state = Unsatisfied
    properties =
    serviceFactory = false
    serviceInterface = null
    references = null
    located in bundle = org.eclipse.kura.example.camel_osgi_1.0.0.201507191449 [46]
    !STACK 0
    java.lang.InstantiationException
    at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at java.lang.Class.newInstance(Class.java:442)
    at org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(ServiceComponent.java:493)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.createInstance(ServiceComponentProp.java:272)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:333)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
    at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
    at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
    at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
    at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
    at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
    at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70)
    !ENTRY org.eclipse.equinox.ds 4 0 2015-07-19 14:52:55.588
    !MESSAGE Exception occurred while creating new instance of component Component[
    name = org.eclipse.kura.example.camel_osgi
    activate = activate
    deactivate = deactivate
    modified =
    configuration-policy = optional
    factory = null
    autoenable = true
    immediate = true
    implementation = org.eclipse.kura.example.camel_osgi.KuraRouter
    state = Unsatisfied
    properties =
    serviceFactory = false
    serviceInterface = null
    references = null
    located in bundle = org.eclipse.kura.example.camel_osgi_1.0.0.201507191449 [46]
    !STACK 0
    java.lang.InstantiationException
    at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at java.lang.Class.newInstance(Class.java:442)
    at org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(ServiceComponent.java:493)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.createInstance(ServiceComponentProp.java:272)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:333)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
    at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
    at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
    at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
    at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
    at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
    at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70)
    Any idea what could be the issue since i have just used the sample code. Am i missing something very obvious.
    Kindly help me in this.
    Thanks and Regards,
    Parul

    Hi Parul,
    I have looked inside your sample code for Camel-Kura integration. The error states that your OSGi Bundle encountered an exception due to OSGi Declarative Service Component Initialisation.
    Reference Code:
    https://github.com/parulagrawal14/Came-Kura/blob/master/org.eclipse.kura.example.camel_osgi/OSGI-INF/component.xml
    This is the Declarative Service Component Descriptor and it has the component activate and deactivate methods set to start and stop.
    Reference Code:
    https://github.com/parulagrawal14/Came-Kura/blob/master/org.eclipse.kura.example.camel_osgi/src/org/eclipse/kura/example/camel_osgi/KuraRouter.java
    Your actual service component is also defined as an Activator which is highly unexpected as it violates the principles of OSGi. Even more to it, the start and stop methods are inherited from BundleActivator but the OSGi Declarative Service Component Runtime will initialise this as a service component but the the runtime will never be able to initialise it as it will invoke start method as a component activation method but the start method is inherited from BundleActivator and it has an argument of BundleContext and for component activation, the runtime needs ComponentContext which is never injected there.
    This is why you are encountering such an error.
    I hope it helps.
    Thanks and Regards,

  • Flex Data Services JOTM, JTA and JMX downloads

    I am not a Java developer. I am an Information Architect/UI
    Designer and up until a few months ago, I designed GUIs using MS
    Studio.Net -- Tomcat is a little different IIS, to say the least.
    =)
    I have downloaded the trial software of Flex Builder 2 and
    Flex Data Services to test it with intent to purchase.
    I was getting real happy with Flex Builder 2. Breezing
    through the "Getting Started" and all the tutorials. Absolutely
    Love it.
    Then along comes Flex Data Services. This application has
    bought me to a screeching halt.
    I've downloaded the files according to the instructions at:
    http://www.adobe.com/support/documentation/en/flex/2/install.html#flexj2ee.
    I placed the files in my webapps directory running on tomcat.
    However, according to the instructions at:
    http://www.adobe.com/support/documentation/en/flex/2/install.html#tomcat,
    I need to download additional applications in order to
    correctly use FDS. I have tried to download the JOTM 2.0.10.tgz
    from
    http://forge.objectweb.org/project/download.php?group_id=19&file_id=3926
    without success. When I try to unzip the file (I am running
    Windows XP Professional), I get the following error:
    "Error reading header after processing 0 entries."
    I've tried to download three different versions of JOTM, no
    luck. Our Java developer suggested that I save the "tar" file as a
    "zip" file and try to open it after download. However, when I try
    to open the archive in WinZip it returns this error:
    "Cannot open file: it does not appear to be a valid archive.
    If you downloaded this file, try downloading the file again."
    Both of these errors occur when trying to open the downloaded
    JOTM 2.0.10.tgz and JOTM 2.0.8.tgz files.
    How can I get these applications? Has anyone had any success
    in downloading these files from:
    http://forge.objectweb.org/project/showfiles.php?group_id=19&release_id=1024
    The downloaded archive files are empty. I can not run any of
    the Data Service samples.
    When I tried at:
    http://localhost:8080/samples/dataservice/flexcab/flexcabDispatcher.mxml
    A service error prompt returns: "Unable to access
    UserTransaction in Dataservice".
    I'm assuming this is because the JOTM (et. al) is not on my
    box, because the archive is empty when I try to open it in WinZip.
    Also, while I was reading the installation instructions for
    Tomcat at:
    http://www.adobe.com/support/documentation/en/flex/2/install.html#tomcat
    it seems pretty complicated for a non-Java programmer to
    understand. I asked one of our 6-year veteran Java developers here
    to help me with this and he said it was a pretty a complicated
    process for someone w/o Java programming experience. I thought it
    was geared towards front-end developers. But he did say that if I
    can't download the JOTM, I won't be able to do whatever it is that
    Flex Data Services is supposed to do. I say the latter because I am
    still in the "Getting Started" manual going through the last of the
    tutorials (which is the Flex Data Services distributed application
    tutorial) before I start reading "Using Flex", so I'm not really
    sure what lessons I will be doing that require FDS to work
    correctly on my box.
    Do I really need the FDS to build interactive applications in
    Flex Builder?
    I appreciate your answers. Thanks in advance.

    I agree with you about the process of getting FDS installed
    and working. I recommend that you try Christophe Coenraets FDMS
    tutorial. The JOTM files are in "tar" format, and so I think you'll
    have to extract them using a "tar" utility. This is included with
    any Unix variant, and so I asked someone at work to extract the
    files; on Windows I think you'll have to find a free "tar" program.
    I downloaded jotm-2.0.10.tar from the JOTM Sourceforge. Use
    parameters "-xf" if the tar file is not compressed, or "-zxf" if it
    is compressed. Good luck!

  • Management and JMX

    Hello,
    I am in reference to page 59 of the specification. I understand that the JBI container is managed through JMX. I would like to know if there is a jmx console bundled with the JBI implementation that can be accessed through a browser.
    Thanks in advance,
    Julien Martin.

    It depends on the provider. The ServiceMix JBI container comes with a web based JMX console, though its failry simple (mostly for viewing operational statistics so far).
    Though most application servers also have JMX consoles these days (even Tomcat does), so deploying your JBI container in some application server will give you a JMX console.

  • JMX version 1.0 & 1.2 conflict.

    I have a JMX client program running in JDK1.5 and the JMX server in 1.4 JDK and weblogic8.1.
    When I am trying to connect it is throwing the exception :
    Exception caught: java.lang.NullPointerException
    at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:164)
    at weblogic.management.internal.RemoteMBeanServerImpl_815_WLStub.queryNames(Unknown Source)
    at JMXTEST.main(JMXTEST.java:41)
    Caused by: java.lang.NullPointerException
    This I understood, because of JMX version conflict 1.0 and 1.2, I tried setting System.setProperty("jmx.serial.form", "1.0") ;, but It didn�t worked.
    Problem here is, the classes are present in rt.jar and weblogic.jar, but having different versions of JMX. The program is getting the classes from rt.jar is creating the issue. Is there any way to specify in the program, get these classes from weblogic.jar and not from rt.jar
    OR is there any solution to this issue.
    Code :
    MBeanServer mbs = (RemoteMBeanServer) home.getMBeanServer();
    Set mbeans = mbs.queryNames(objName, null);
    Your help is greatly appreciated. Thanks in advance.
    Regards,
    Shyam

    Hmm..
    If the two JMX versions are incompatible,. then a SerializationException is thrown. I had faced a similar problem working with Websphere 5.x and JMX 1.2.. The only way you can go around this is to use a client that is built on JMX 1.0, or change your server side JMX version. Personally i think you should just use a JMX 1.0 client.
    The reason why both are incompatible is that the serviceVersionUIDs that are difined in the JMX 1.0 classes do not match the ones in JMX 1.2. There is not way out of this. :( You see, many JMX Classes such as ObjectName, etc are sent to - from the client and the server so they need to be serialized, deserialzed.
    Your NullPointerException may be due to something else. However i suspect that once you resolve NullPointerException, you will eventually bump into serialization / deserialization problems.

  • ANNOUNCE: JRockit R27.1 and JRockit Mission Control 2.0 released!

    New versions of JRockit and JRockit Mission Control are now available!
    The following new products have been released:
    - JRockit 1.4.2 R27.1
    - JRockit 5.0 R27.1
    - JRockit 6 R27.1 TECHNOLOGY PREVIEW
    - JRockit Mission Control 2.0
    JROCKIT R27.1
    =============
    The JRockit release is a major update from the previous version (R26.4) and includes a large set of enhancements including:
    - A completely new version of JRockit Mission Control (see separate section below)
    - Improved Monitoring and Diagnostics features
    - Improved Supportability features
    - Connect-on-Demand capability for JVMTI and JMX (JRockit 5.0 and 6)
    - A new "Diagnostics Guide" with troubleshooting and performance tuning tips
    - Full support for IPv6 on all platforms
    - Expanded support for Solaris/SPARC
    - Enhanced performance
    The 1.4.2 and 5.0 versions of JRockit R27.1 are based on Sun 1.4.2_12 and 1.5.0_08 respectively, and contain all enhancements and fixes made to the Java class libraries from those Sun releases.
    JRockit 6 R27.1 is a tech preview based on 1.6.0-rc-b97 from Sun. The public GA of JRockit 6 is expected to be in the first half of 2007, and will bring a larger set of performance enhancements. For feedback on this release, please use our user forums at forums.bea.com/bea/forum.jspa?forumID=2009.
    The connect-on-demand capabilities in JRockit 5.0 and 6 are similar to those provided in Sun Java SE 6 and enable developers to connect to locally running JRockit processes without being forced to start JRockit with specific command line options. For JMX there is also an autodiscovery mechanism for remote connections which is very useful in development environments.
    For Solaris/SPARC we have added a JRockit 1.4.2 version, which in internal measurements has shown to be very competetive to Sun's 1.4.2 implementation on Solaris/SPARC. Definitely worth checking out! (Note: WLS 8.1 does not officially support running on this JRockit version.)
    On the performance side, there are enhancements for WLS applications (10-15%), memory-intensive applications (10-15%) and improved out-of-the-box performance (up to 25%), all based on internal measurements.
    Release notes:
    http://e-docs.bea.com/jrockit/releases/R27/relnotes/r27_notes.html
    Docs home:
    http://e-docs.bea.com/jrockit/webdocs/index.html
    NEW! Diagnostics Guide:
    http://e-docs.bea.com/jrockit/geninfo/diagnos/index.html
    Download pages:
    http://commerce.bea.com/products/weblogicjrockit/jrockit_prod_fam.jsp
    JROCKIT MISSION CONTROL 2.0
    ===========================
    Together with JRockit R27.1 we are releasing a completely new version of JRockit Mission Control. The separate tools in JMC 1.0 have been integrated into one single GUI based on Eclipse RCP, which means that any user of the Eclipse IDE should feel at home. All tools features from Mission Control 1.0 are of course still available, and we continue our drive towards exposing all data about your Java application that JRockit has access to. You will also find a large set of usability improvements, including:
    - Drag-and-drop support
    - Configurable views
    - Online and (for the Runtime Analyzer) context-sensitive help
    - Connect-on-demand to local JVMs and autodiscover remote JVMs
    One particular area of interest is GC profiling, where much more detailed metrics are available, which can help drill down into the causes for long GC pause times and spikes.
    Release notes:
    http://edocs.bea.com/jrockit/tools/relnotestools/relnotestools2.html
    There is no separate download for JRockit Mission Control, instead it is included in the JRockit R27.1 JDK downloads for Windows and Linux/x86. To start using the tools, install JRockit and select JRockit Mission Control from the Windows Start menu, or launch the $JROCKIT_HOME/bin/jrmc executable.
    Documentation is bundled with the installation and available from the Help menu.
    If you have any questions, comments or concerns, please visit our user forums at forums.bea.com/bea/forum.jspa?forumID=2009.
    Happy holidays!
    Henrik Stahl
    Product Manager

    Hi,
    I have tried and installed the version R27.1.0-109-73164-1.5.0_08-20061129-1415-linux-x86_64 on our 16GB RAM
    with 4 dual-core Opteron processor.
    JAVA_OPTS="-server -Xms800M -Xmx4000M -Djava.net.preferIPv4Stack=true -Xpausetarget=2500ms -Xverboselog:/var/log/javavm.log -Xverbose:gc,memory -Xverbosetimestamp -Xgcpause -Xgcreport -Xstrictfp -XXexitOnOutOfMemory -XXdumpFullState -XXstaticCompaction -XXcompactRatio:10 "
    After 5 secs of jvm startup I receive the follwing trace (without any DUMP-file):
    java.lang.OutOfMemoryError: class allocation JVM@check_alloc (src/jvm/model/classload/classalloc.c:1
    22). 42216 bytes requested. Java heapsize=838860800, paged memory=0/0.
    Probable cause: Too large java heap setting.
    Try to reduce the Java heap size using -Xmx:<size> (e.g. "-Xmx128m")
    at java/lang/Class.getDeclaredMethods0(Z)[Ljava/lang/reflect/Method;(Native Method)
        at java/lang/Class.privateGetDeclaredMethods(Class.java:2395)
        at java/lang/Class.getMethod0(Class.java:2642)
        at java/lang/Class.getMethod(Class.java:1579)
        at org/apache/xalan/processor/XSLTAttributeDef.setAttrValue(XSLTAttributeDef.java:1611)
        at org/apache/xalan/processor/XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProces
    sor.java:338)
        at org/apache/xalan/processor/XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProces
    sor.java:263)
        at org/apache/xalan/processor/ProcessorTemplateElem.startElement(ProcessorTemplateElem.java:76)
        at org/apache/xalan/processor/StylesheetHandler.startElement(StylesheetHandler.java:623)
        at org/apache/xerces/parsers/AbstractSAXParser.startElement(Lorg/apache/xerces/xni/QName;Lorg/ap
    ache/xerces/xni/XMLAttributes;Lorg/apache/xerces/xni/Augmentations;)V(Unknown Source)
        at org/apache/xerces/impl/XMLNSDocumentScannerImpl.scanStartElement()Z(Unknown Source)
        at org/apache/xerces/impl/XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Z)Z(
    Unknown Source)
        at org/apache/xerces/impl/XMLDocumentFragmentScannerImpl.scanDocument(Z)Z(Unknown Source)
        at org/apache/xerces/parsers/XML11Configuration.parse(Z)Z(Unknown Source)
        at org/apache/xerces/parsers/XML11Configuration.parse(Lorg/apache/xerces/xni/parser/XMLInputSour
    ce;)V(Unknown Source)
        at org/apache/xerces/parsers/XMLParser.parse(Lorg/apache/xerces/xni/parser/XMLInputSource;)V(Unk
    nown Source)
        at org/apache/xerces/parsers/AbstractSAXParser.parse(Lorg/xml/sax/InputSource;)V(Unknown Source)
        at org/apache/xerces/jaxp/SAXParserImpl$JAXPSAXParser.parse(Lorg/xml/sax/InputSource;)V(Unknown
    Source)
        at org/apache/xalan/processor/TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:92
    0)
        at org/jboss/deployment/XSLSubDeployer.createService(XSLSubDeployer.java:141)
        at org/jboss/system/ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:260)
        at org/jboss/system/ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:243)
        at sun/reflect/GeneratedMethodAccessor2.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/
    Object;(Unknown Source)
        at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java/lang/reflect/Method.invoke(Method.java:585)
        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/system/ServiceController$ServiceProxy.invoke(ServiceController.java:978)
        at $Proxy0.create()V(Unknown Source)
        at org/jboss/system/ServiceController.create(ServiceController.java:330)
        at org/jboss/system/ServiceController.create(ServiceController.java:273)
        at sun/reflect/GeneratedMethodAccessor4.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/
    Object;(Unknown Source)
        at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java/lang/reflect/Method.invoke(Method.java:585)
        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.create(Ljavax/management/ObjectName;)V(Unknown Source)
        at org/jboss/deployment/SARDeployer.create(SARDeployer.java:258)
        at org/jboss/deployment/MainDeployer.create(MainDeployer.java:953)
        at org/jboss/deployment/MainDeployer.deploy(MainDeployer.java:807)
        at org/jboss/deployment/MainDeployer.deploy(MainDeployer.java:771)
        at jrockit/vm/RNI.c2java(JJJJ)V(Native Method)
        at jrockit/vm/Reflect.invokeMethod(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava
    /lang/Object;(Native Method)
        at sun/reflect/NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Lja
    va/lang/Object;)Ljava/lang/Object;(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:585)
        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 $Proxy8.deploy(Ljava/net/URL;)V(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(AbstractDeploymen
    tScanner.java:263)
        at org/jboss/deployment/scanner/AbstractDeploymentScanner.startService(AbstractDeploymentScanner
    .java:336)
        at org/jboss/system/ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
        at org/jboss/system/ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
        at sun/reflect/GeneratedMethodAccessor2.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/
    Object;(Unknown Source)
        at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java/lang/reflect/Method.invoke(Method.java:585)
        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/system/ServiceController$ServiceProxy.invoke(ServiceController.java:978)
        at $Proxy0.start()V(Unknown Source)
        at org/jboss/system/ServiceController.start(ServiceController.java:417)
        at sun/reflect/GeneratedMethodAccessor9.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/
    Object;(Unknown Source)
        at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java/lang/reflect/Method.invoke(Method.java:585)
        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.start(Ljavax/management/ObjectName;)V(Unknown Source)
        at org/jboss/deployment/SARDeployer.start(SARDeployer.java:302)
        at org/jboss/deployment/MainDeployer.start(MainDeployer.java:1007)
        at org/jboss/deployment/MainDeployer.deploy(MainDeployer.java:808)
        at org/jboss/deployment/MainDeployer.deploy(MainDeployer.java:771)
        at org/jboss/deployment/MainDeployer.deploy(MainDeployer.java:755)
        at jrockit/vm/RNI.c2java(JJJJ)V(Native Method)
        at jrockit/vm/Reflect.invokeMethod(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava
    /lang/Object;(Native Method)
        at sun/reflect/NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Lja
    va/lang/Object;)Ljava/lang/Object;(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:585)
        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 $Proxy5.deploy(Ljava/lang/String;)V(Unknown Source)
        at org/jboss/system/server/ServerImpl.doStart(ServerImpl.java:482)
        at org/jboss/system/server/ServerImpl.start(ServerImpl.java:362)
        at org/jboss/Main.boot(Main.java:200)
        at org/jboss/Main$1.run(Main.java:464)
        at java/lang/Thread.run(Thread.java:595)
        at jrockit/vm/RNI.c2java(JJJJ)V(Native Method)
        -- end of trace
    JRockit aborted: Out of memory (68)
    Failed to acquire native memory. Try reducing Java heap size using -Xmx:<size> (i.e "-Xmx16m")
    If I change the -Xmx parameter from -Xmx4000M to -Xmx3000M
    than it didn't work, but
    if I change the -Xmx parameter from -Xmx4000M to -Xmx2900M
    than it works.
    (The hint to change -Xmx to -Xmx16m is great on a 16GB RAM machine,.. :-) )
    Any ideas?
    How can I use 4GB java-heap ?
    Greetings Martin                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Maybe you are looking for