You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Tammo van Lessen (JIRA)" <ji...@apache.org> on 2011/01/16 22:45:44 UTC
[jira] Resolved: (ODE-895) Management MBean access broken (Rquest
for an Management WS API for the JBI distribution)
[ https://issues.apache.org/jira/browse/ODE-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tammo van Lessen resolved ODE-895.
----------------------------------
Resolution: Fixed
Fix Version/s: 1.3.5
Assignee: Tammo van Lessen
This should be fixed in ODE 1.3.5.
First, the jbi-karaf-commands are confirmed to be working with SMX 4.3 and ODE 1.3.5.
Second, we now have a PMAPI HTTP binding shipped with the jbi-karaf feature. Please follow the instructions at http://ode.apache.org/smx4-osgi-deployment.html.
> Management MBean access broken (Rquest for an Management WS API for the JBI distribution)
> -----------------------------------------------------------------------------------------
>
> Key: ODE-895
> URL: https://issues.apache.org/jira/browse/ODE-895
> Project: ODE
> Issue Type: New Feature
> Components: Management API
> Affects Versions: 1.3.4
> Environment: ODE 1.3.4 as OSGi bundle in FUSE-ESB 4.3.0-fuse-02-00
> Reporter: Antonio MarĂn
> Assignee: Tammo van Lessen
> Fix For: 1.3.5
>
>
> I noticed recently that the old MBean usage is broken with latest stable version of ODE. So accessing like in the jbi-karaf-commands is not supported:
> protected static String COMPONENT_NAME = "org.apache.servicemix:Type=Component,Name=OdeBpelEngine,SubType=Management";
> protected static final String LIST_ALL_PROCESSES = "listAllProcesses";
> protected <T> T invoke(final String operationName, final Object[] params, final String[] signature, Class<?> T, long timeoutInSeconds) throws Exception {
> ExecutorService executor = Executors.newSingleThreadExecutor();
> Callable<T> callable = new Callable<T>() {
> public T call() throws Exception {
> MBeanServer server = getMBeanServer();
> if (server != null) {
> return (T) server.invoke(new ObjectName(COMPONENT_NAME), operationName, params, signature);
> }
> return null;
> }
> };
> Future<T> future = executor.submit(callable);
> executor.shutdown();
> return future.get(timeoutInSeconds, TimeUnit.SECONDS);
> }
> protected List<TProcessInfo> getProcesses(long timeoutInSeconds) throws Exception {
> ProcessInfoListDocument result = invoke(LIST_ALL_PROCESSES, null, null, ProcessInfoListDocument.class, timeoutInSeconds);
> if (result != null) {
> return result.getProcessInfoList().getProcessInfoList();
> }
> return null;
> }
> is throwing:
> java.util.concurrent.ExecutionException: javax.management.InstanceNotFoundException: org.apache.servicemix:Type=Component,Name=OdeBpelEngine,SubType=Management
> at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232)
> at java.util.concurrent.FutureTask.get(FutureTask.java:91)
> at net.geant.gembus.services.ode_manager.internal.OdeMBeanManager.invoke(OdeMBeanManager.java:91)
> at net.geant.gembus.services.ode_manager.internal.OdeMBeanManager.getProcesses(OdeMBeanManager.java:95)
> at net.geant.gembus.services.ode_manager.internal.OdeMBeanManager.listAllProcesses(OdeMBeanManager.java:104)
> at net.geant.gembus.services.ode_manager.OdeManagerImpl.ListAllProcesses(OdeManagerImpl.java:34)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ...
> It would be desireable to have an input to the Management API on the JBI distribution as a WS. I tryed to use the pmapi-sa.zip circulating around but It's not working in my configuration.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.