[Performance Tuning] - Failover performance
by Ron K
Ron K [http://community.jboss.org/people/ronsen] created the discussion
"Failover performance"
To view the discussion, visit: http://community.jboss.org/message/612069#612069
--------------------------------------------------------------
Since the ability (ejb) to failover relies on the client side(if im not mistaken), the failover on a node crashing shouldnt be measurable or?
The client downloads the dp-object and handles it itsself, so will there be a measurable "delay" if a servercrash occurs and it fails over to another node?
My test was to deploy an ejb on 3 nodes and send counting numbers to the cluster. Whenever a node receives a number, it writes the receivment to the database whereas the database adds a timestamp, so that the times wont change according to the server clocks.
So, whenever a failover occurs, there should be a measureable delay between No. X and Y, just in case it causes some.
The result was, that theres (with nanosecs) actually none...
Did I understand anything wrong or does a measureable delay only occurs if theres anything has to be restored from replicated data?
Thanks in advance,
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/612069#612069]
Start a new discussion in Performance Tuning at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 9 months
[Beginner's Corner] - Problems Migrating from WAS to JBoss 6
by Julie H
Julie H [http://community.jboss.org/people/julieh] created the discussion
"Problems Migrating from WAS to JBoss 6"
To view the discussion, visit: http://community.jboss.org/message/612665#612665
--------------------------------------------------------------
Hi.
I am in the processing of migrating one of our applications from WAS to JBoss 6, and have come across an issue I am having trouble resolving. Would appreciate it if someone could provide some insight into this problem.
The application follows the EJB2.0 spec and uses Xdoclet annotations.
We want to first get the application up and running on JBOSS 6, with a view to then converting the application to use EJB3.0 spec.
I have installed the application successfully in JBoss 5 (just to check whether I got the same issue as in JBoss 6), and it installs successfully (haven't run it yet though - so it may fail at runtime).
The error I am getting is as follows :
2011-06-30 15:05:32,554 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (HDScanner) Error installing to Create: name=jboss.j2ee:jndiName=BPProcessAudit,service=EJB state=Configured mode=Manual requiredState=Create: java.lang.ClassCastException: $Proxy193 cannot be cast to javax.ejb.EJBLocalHome
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.getEJBLocalHome(BaseLocalProxyFactory.java:244) [:6.0.0.Final]
at org.jboss.ejb.Container.createService(Container.java:923) [:6.0.0.Final]
at org.jboss.ejb.SessionContainer.createService(SessionContainer.java:159) [:6.0.0.Final]
at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:323) [:6.0.0.Final (Build SVNTag:JBoss_6.0.0.Final date: 20101228)]
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:299) [:6.0.0.Final (Build SVNTag:JBoss_6.0.0.Final date: 20101228)]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_13]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_13]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_13]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_13]
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) [:6.0.0.GA]
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) [:6.0.0.GA]
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) [:6.0.0.GA]
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:271) [:6.0.0.GA]
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:670) [:6.0.0.GA]
at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:189) [:2.2.0.GA]
at $Proxy41.create(Unknown Source) at org.jboss.system.microcontainer.CreateDestroyLifecycleAction.installAction(CreateDestroyLifecycleAction.java:54) [:2.2.0.GA]
at org.jboss.system.microcontainer.CreateDestroyLifecycleAction.installAction(CreateDestroyLifecycleAction.java:42) [:2.2.0.GA]
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:301) [:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.system.ServiceController.doChange(ServiceController.java:671) [:6.0.0.Final (Build SVNTag:JBoss_6.0.0.Final date: 20101228)]
at org.jboss.system.ServiceController.create(ServiceController.java:405) [:6.0.0.Final (Build SVNTag:JBoss_6.0.0.Final date: 20101228)]
at sun.reflect.GeneratedMethodAccessor321.invoke(Unknown Source) [:1.6.0_13]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_13]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_13]
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) [:6.0.0.GA]
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) [:6.0.0.GA]
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) [:6.0.0.GA]
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:271) [:6.0.0.GA]
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:670) [:6.0.0.GA]
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) [:6.0.0.GA]
at $Proxy173.create(Unknown Source) at org.jboss.ejb.EjbModule.createService(EjbModule.java:449) [:6.0.0.Final]
at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:323) [:6.0.0.Final (Build SVNTag:JBoss_6.0.0.Final date: 20101228)]
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:299) [:6.0.0.Final (Build SVNTag:JBoss_6.0.0.Final date: 20101228)]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_13]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_13]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_13]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_13]
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) [:6.0.0.GA]
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) [:6.0.0.GA]
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) [:6.0.0.GA]
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:271) [:6.0.0.GA]
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:670) [:6.0.0.GA]
at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:189) [:2.2.0.GA]
at $Proxy41.create(Unknown Source) at org.jboss.system.microcontainer.CreateDestroyLifecycleAction.installAction(CreateDestroyLifecycleAction.java:54) [:2.2.0.GA]
at org.jboss.system.microcontainer.CreateDestroyLifecycleAction.installAction(CreateDestroyLifecycleAction.java:42) [:2.2.0.GA]
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:301) [:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.system.ServiceController.doChange(ServiceController.java:671) [:6.0.0.Final (Build SVNTag:JBoss_6.0.0.Final date: 20101228)]
at org.jboss.system.ServiceController.create(ServiceController.java:405) [:6.0.0.Final (Build SVNTag:JBoss_6.0.0.Final date: 20101228)]
at org.jboss.system.ServiceController.create(ServiceController.java:370) [:6.0.0.Final (Build SVNTag:JBoss_6.0.0.Final date: 20101228)]
at org.jboss.system.deployers.ServiceDeployer.create(ServiceDeployer.java:184) [:6.0.0.Final]
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99) [:6.0.0.Final]
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:49) [:6.0.0.Final]
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62) [:2.2.0.GA]
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1832) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1550) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1571) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1603) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1491) [:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.change(DeployersImpl.java:1983) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:1076) [:2.2.0.GA]
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:679) [:2.2.0.GA]
at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.process(MainDeployerPlugin.java:106) [:6.0.0.Final]
at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.process(ProfileControllerContext.java:143) [:0.2.2]
at org.jboss.profileservice.deployment.hotdeploy.HDScanner$HDScanAction.deploy(HDScanner.java:240) [:0.2.2]
at org.jboss.profileservice.deployment.hotdeploy.HDScanner$HDScanAction.complete(HDScanner.java:192) [:0.2.2]
at org.jboss.profileservice.management.TwoPCActionWrapper.doComplete(TwoPCActionWrapper.java:57) [:0.2.2]
at org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction.complete(AbstractTwoPhaseModificationAction.java:74) [:0.2.2]
at org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction.prepare(AbstractTwoPhaseModificationAction.java:95) [:0.2.2]
at org.jboss.profileservice.management.ModificationSession.prepare(ModificationSession.java:87) [:0.2.2]
at org.jboss.profileservice.management.AbstractActionController.internalPerfom(AbstractActionController.java:234) [:0.2.2]
at org.jboss.profileservice.management.AbstractActionController.performWrite(AbstractActionController.java:213) [:0.2.2]
at org.jboss.profileservice.management.AbstractActionController.perform(AbstractActionController.java:150) [:0.2.2]
at org.jboss.profileservice.management.AbstractActionController.perform(AbstractActionController.java:135) [:0.2.2]
at org.jboss.profileservice.deployment.hotdeploy.HDScanner.scan(HDScanner.java:146) [:0.2.2]
at org.jboss.profileservice.deployment.hotdeploy.HDScanner.run(HDScanner.java:90) [:0.2.2]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [:1.6.0_13]
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) [:1.6.0_13]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) [:1.6.0_13]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) [:1.6.0_13]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181) [:1.6.0_13]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205) [:1.6.0_13]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_13]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_13]
at java.lang.Thread.run(Thread.java:619) [:1.6.0_13]
This error occurs for each of the EJB's contained in the application.
The class which causes the above problem is :
package com.xx.dao.ejb;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
// other imports deleted
/**
* --
* @ejb.bean
* name = "BPProcessAudit"
* display-name = "BPProcessAudit Database Access Bean"
* type = "Stateless"
* transaction-type = "Bean"
* jndi-name = "ejb/xx/xx/BPProcessAudit"
* local-jndi-name = "ejb/xx/xx/BPProcessAuditLocal"
* view-type = "both"
*
* @ejb.home
* remote-class = "com.xx.dao.ejb.interfaces.BPProcessAuditHome"
* local-class = "com.xx.dao.ejb.interfaces.BPProcessAuditLocalHome"
*
* @ejb.interface
* remote-class = "com.xx.dao.ejb.interfaces.BPProcessAudit"
* local-class = "com.xx.dao.ejb.interfaces.BPProcessAuditLocal"
*
* @ejb.util
* generate = "logical"
*
* @ejb.resource-ref
* res-ref-name = "MYDB_REF"
* res-type = "javax.sql.DataSource"
* res-auth = "Container"
* jndi-name = "jdbc/AXISDB"
*
* @websphere.resource-ref
* res-ref-name = "MYDB_REF"
* isolation-level = "TRANSACTION_READ_COMMITTED"
*/
public class BPProcessAuditEJB implements SessionBean {
//Static fields
private static final long serialVersionUID = -76401858385693261L;
//Instance fields
private SessionContext sessionContext;
public void ejbCreate() throws EJBException, CreateException {
}
public void ejbActivate() throws EJBException, RemoteException {
}
public void ejbPassivate() throws EJBException, RemoteException {
}
public void ejbRemove() throws EJBException, RemoteException {
}
/**
*
* @param primaryKey
* @return
* @throws EJBException
* --
* @ejb.interface-method
* view-type = "both"
*/
public BPProcessAuditVO find(BPProcessAuditPK primaryKey) throws EJBException, DataAccessException {
// code deleted
}
The Local and remote interfaces, and the utility class are all generated by Xdoclet.
Please let me know what other information would be useful in identifying the issue.
Thanks
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/612665#612665]
Start a new discussion in Beginner's Corner at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 9 months
[JBoss Tools] - Overview of the JAX-RS support in JBoss Tools 3.3M2
by Xavier Coulon
Xavier Coulon [http://community.jboss.org/people/xcoulon] modified the blog post:
"Overview of the JAX-RS support in JBoss Tools 3.3M2"
To view the blog post, visit: http://community.jboss.org/community/tools/blog/2011/06/30/jax-rs-tooling...
--------------------------------------------------------------
Following the release of JBoss Tools 3.3M2 that was http://community.jboss.org/en/tools/blog/2011/06/28/fast-faster-jboss-too... announced yesterday, this article highlights the main features provided by the new JAX-RS tooling which is part of this new milestone.
h3. Installing the plugin
As explained in the announcement, the fastest and easiest way to get started with JBoss Tools is to download & install the http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/... Eclipse 3.7 (Indigo) JEE bundle. Once you have installed Eclipse, you use our update site directly.
The updatesite URL to use from Help > Install New Software... is:
http://download.jboss.org/jbosstools/updates/development/indigo/ http://download.jboss.org/jbosstools/updates/development/indigo/
Then, go to the "All JBoss Tools 3.3" section and select "JBoss JAX-RS Tools"
http://community.jboss.org/servlet/JiveServlet/showImage/38-3884-16612/Ca... http://community.jboss.org/servlet/JiveServlet/downloadImage/38-3884-1661...
Using a sample project
A quick way to get started with the tooling is to download the *JBoss AS7 Quickstarts* from their http://download.jboss.org/jbossas/7.0/jboss-7.0.0.CR1/jboss-as-quickstart... download page. Once you've unzipped the archive, import the "*KitchenSink"* project into your workspace using the Import > Existing Maven Project menu.
(i) You'll need to install the m2eclipse plugin to import the project.
http://community.jboss.org/servlet/JiveServlet/showImage/38-3884-16620/Ca... http://community.jboss.org/servlet/JiveServlet/downloadImage/38-3884-1662...
Activating the support for JAX-RS
One way to activate support for JAX-RS in your project is to click on "Configure > Add JAX-RS 1.1 support..." in the project's contextual menu, which in turn will add the "JAX-RS Nature" to it.
http://community.jboss.org/servlet/JiveServlet/showImage/38-3880-16549/ja... http://community.jboss.org/servlet/JiveServlet/downloadImage/38-3880-1654...
If the project you're working on is a "Dynamic Web Project", you can also install the standard Eclipse "JAX-RS (REST Web Services)" Facet, which will in turn will add the "JAX-RS Nature" as described in the previous case.
http://community.jboss.org/servlet/JiveServlet/showImage/38-3880-16550/ja... http://community.jboss.org/servlet/JiveServlet/downloadImage/38-3880-1655...
In both cases, a "JAX-RS Builder" will be added to your project.
h3. Current features
In this milestone, the JAX-RS Builder offers the features described below.
h5. Mapping of JAX-RS elements to the source
The JAX-RS Builder computes and keeps in sync' an im-memory metamodel of the JAX-RS elements of your project. The metamodel is reinitialized during a clean/full build of your project, and all kinds of changes to compilation units are applied to the metamodel.
h5. RESTful Web Services explorer
The *RESTful Web Services* outline in the the *Project Explorer* view is certainly the most attractive feature of this plugin, as it displays the resolved URI Path Templates based on the metamodel described above.
The URI Path Templates resolution works with both Methods and Submethods of Root Resources and Subresources. In addition, each node in the outline indicates the consumed and produced media-types and the Java method that would be called when a request matching the combo {HTTP Method + URI Path Template + Content Negociation}. Double-clicking on the elements of the outline opens the Java Editor to the associated location in the source code.
http://community.jboss.org/servlet/JiveServlet/showImage/38-3884-16627/Ca... http://community.jboss.org/servlet/JiveServlet/downloadImage/38-3884-1662...
Event tough the classes annotated with the @javax.ws.rs.ext.Provider are not shown on the Project Explorer's view yet, they are already taken into account by the JAX-RS Builder, so you can expect further features around those elements in the next releases.
h5. Code completion for JAX-RS annotation values
Code completion for @javax.ws.rs.PathParam annotation value is available. The completion processor analyses the source of the Java Type to return proposals based on the @javax.ws.rs.PathParam annotations values both at the method and at the type levels. The additional information of each proposal highlights the part of the code from which the proposal was computed.
http://community.jboss.org/servlet/JiveServlet/showImage/38-3884-16628/Ca... http://community.jboss.org/servlet/JiveServlet/downloadImage/38-3884-1662...
Those completion proposals support the regular expressions, too.
h5. Validation of JAX-RS constructs
The plugin currently validates that a method parameter annotated with @javax.ws.rs.PathParam annotation matches with the @javax.ws.rs.Path annotation value on the same method.
http://community.jboss.org/servlet/JiveServlet/showImage/38-3884-16626/Ca... http://community.jboss.org/servlet/JiveServlet/downloadImage/38-3884-1662...
That's it for now. Remember that the tooling is not yet complete but is very functional and we are looking forward to get feedback on its current functionality and what you would like to see in the future !
Have fun !
PS : as an individual contributor, I'd also like to thank the JBoss Tools team for the support and confidence they've put in the work I've done so far. As http://community.jboss.org/people/maxandersen Max Andersen says, it's the way OSS works, and it's really great !
--------------------------------------------------------------
Comment by going to Community
[http://community.jboss.org/community/tools/blog/2011/06/30/jax-rs-tooling...]
14 years, 9 months
[jBPM] - Is there dynamic process instance flow monitoring?
by byungwoojun
byungwoojun [http://community.jboss.org/people/byungwoojun] created the discussion
"Is there dynamic process instance flow monitoring?"
To view the discussion, visit: http://community.jboss.org/message/612834#612834
--------------------------------------------------------------
I am using jBPM 5.0 and started using jBPM 5.1. From the jBPM console, I can monitor running process instances (e.g., start, signal, delete, terminate, diagram, instance data). For a process flow with intermediate message event(s), I can see the process instance from the console while it is waiting for the message event(s). However, for a synchronous process flow (without any intermediate mesage event(s)), there is little (most likely no) chance to monitor it. If the flow is successfully ended, the processInstanceInfo and other associated tables will NOT have the record(s) - already deleted when the procsss ended. The console server provides REST services, but many of the service interfaces require process instance ids, which are available to outside (e.g., caller) after the StartProcess is done. So, I don't know how to monitor the synchronous process flow. Even asychronous process flow monitoring seems to be pretty static, to me.
I have a use case that I need to see (display) running process flow progress more dynamically. For example, a process flow consists of 7 service tasks, and some of service tasks take time (e.g., calling external services). I want to have a monitoring capability showing where a process instance is running at(e.g., the 3rd service task is being executed, then, the 4th, the 5th, so on).
To my knowledge, jBPM 5 flushes process instance data into database tables when a process instance is ended, suspended or stopped at intermediate events. So, using the database tables is not too promising for this. One thing I can think of is use of the ProcessEventListener. I can use the before/afterProcessStarted, before/afterNodeTriggered events, etc., for example, to store the process instance id, the running node names and other data into a custom database tables. Then, by polling the database tables, a GUI (either enhanced console) can display the real-time process status.
However, if there is built-in jBPM functionalities to support this use case, I'd like to use them.
Any suggestions will be appreciated.
bwj
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/612834#612834]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 9 months
[jBPM] - Unable to complete a task when running the task in a separate thread
by Connie Yang
Connie Yang [http://community.jboss.org/people/connie.yang] created the discussion
"Unable to complete a task when running the task in a separate thread"
To view the discussion, visit: http://community.jboss.org/message/612824#612824
--------------------------------------------------------------
Hi,
I have a WorkItemHandler that can run the service task either in the main thread or in a separate thread. This is my way of handling for-each parallel (aka fanout). When the service task is run in a separate thread, I have been experiencing a NullPointerException with the following stack trace upon marking the task completed (via NodeInstanceImpl.triggerCompleted). What am I missing?
1. java.lang.NullPointerException
at org.jbpm.process.instance.impl.ProcessInstanceImpl.getProcess(ProcessInstanceImpl.java:67)
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.getWorkflowProcess(WorkflowProcessInstanceImpl.java:180)
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.getNodeContainer(WorkflowProcessInstanceImpl.java:68)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.getNode(NodeInstanceImpl.java:100)
at org.jbpm.workflow.instance.node.ActionNodeInstance.getActionNode(ActionNodeInstance.java:35)
at org.jbpm.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:43)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150)
at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47)
at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:162)
at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:143)
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:239)
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:301)
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:277)
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:333)
at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:117)
at com.ebay.cloud.orchest.jbpm.LcmPojoWorkItemHandler$1.run(LcmPojoWorkItemHandler.java:95)
at com.ebay.kernel.executor.TaskExecutor$Adapter.call(TaskExecutor.java:587)
Thanks in advance!
Connie
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/612824#612824]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 9 months
number of socket connections
by daniel
hi
I have a jboss ejb container. Want to have a mbean that gives information
about number of current socket connections it is using.
Can access this kind of information programatically?
Or I have to implement a new ConnectorMBean and declare it in
environment-services.xml ??
I think what I need is here...
http://docs.jboss.org/jbossremoting/docs/guide/2.5/html/
But I would appreciate to have some guidelines.
thks! daniel
14 years, 9 months