[JBoss jBPM] - NPE with GPD after upgrading to 3.1.3.SP1
by chawax
Hi,
After upgrading JBoss jBPM JPDL designer from 3.1.0.GA to 3.1.3.SP1 (bundled with JBoss Tools), I can't open some process definition files with the graphical designer. I have the following stack trace :
java.lang.NullPointerException
| at org.jbpm.gd.jpdl.xml.EsbNodeMapper.accept(Unknown Source)
| at org.jbpm.gd.common.registry.XmlAdapterRegistry.getConfigurationElementByXmlNode(Unknown Source)
| at org.jbpm.gd.common.xml.XmlAdapterFactory.createAdapter(Unknown Source)
| at org.eclipse.wst.sse.core.internal.provisional.AbstractAdapterFactory.adaptNew(AbstractAdapterFactory.java:120)
| at org.eclipse.wst.sse.core.internal.provisional.AbstractAdapterFactory.adapt(AbstractAdapterFactory.java:64)
| at org.jbpm.gd.common.xml.XmlAdapterFactory.adapt(Unknown Source)
| at org.jbpm.gd.common.xml.XmlAdapter.getAdapter(Unknown Source)
| at org.jbpm.gd.common.xml.XmlAdapter.initialize(Unknown Source)
| at org.jbpm.gd.jpdl.xml.ProcessDefinitionDomAdapter.initialize(Unknown Source)
| at org.jbpm.gd.common.editor.Editor.getSemanticElement(Unknown Source)
| at org.jbpm.gd.common.editor.Editor.initSourcePage(Unknown Source)
| at org.jbpm.gd.common.editor.Editor.createPages(Unknown Source)
| at org.jbpm.gd.jpdl.editor.JpdlEditor.createPages(Unknown Source)
| at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:283)
| at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:661)
| at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:426)
| at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
| at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:299)
| at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:179)
| at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
| at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
| at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:400)
| at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
| at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209)
| at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1604)
| at org.eclipse.ui.internal.PartStack.add(PartStack.java:499)
| at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
| at org.eclipse.ui.internal.PartStack.add(PartStack.java:485)
| at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
| at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
| at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:217)
| at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:207)
| at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:774)
| at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:673)
| at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:634)
| at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2737)
| at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2651)
| at org.eclipse.ui.internal.WorkbenchPage.access$13(WorkbenchPage.java:2643)
| at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2595)
| at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
| at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2590)
| at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2574)
| at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2565)
| at org.eclipse.ui.ide.IDE.openEditor(IDE.java:644)
| at org.eclipse.ui.ide.IDE.openEditor(IDE.java:603)
| at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:286)
| at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:139)
| at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:194)
| at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:175)
| at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:268)
| at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:244)
| at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:316)
| at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$5.open(PackageExplorerPart.java:613)
| at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820)
| at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
| at org.eclipse.core.runtime.Platform.run(Platform.java:857)
| at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46)
| at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199)
| at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:818)
| at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079)
| at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183)
| at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263)
| at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257)
| at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297)
| at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
| at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
| at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
| at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
| at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
| at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
| at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
| at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
| at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
| at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
| at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
| at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
| at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
| at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
| at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
| at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
| at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
| at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
| at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
|
My process definition looks very simple yet. Here is the processdefinition.xml file :
<?xml version="1.0" encoding="UTF-8"?>
|
| <process-definition xmlns="" name="automaticValidation">
|
|
| <start-state name="start">
| <transition to="automaticValidation"></transition>
| </start-state>
|
|
| <decision name="automaticValidation">
| <transition to="refuse" name="nok"></transition>
| <transition to="accept" name="ok">
| <condition expression="#{decisionHandler.evaluateELExpression('EL_DECISION')}"></condition>
| </transition>
| </decision>
|
| <node name="accept">
| <action expression="#{absenceRequestProcessAction.acceptRequest()}"></action>
| <transition to="end"></transition>
| </node>
|
| <node name="refuse">
| <action expression="#{absenceRequestProcessAction.refuseRequest()}"></action>
| <transition to="end"></transition>
| </node>
|
|
| <end-state name="end"></end-state>
|
|
| </process-definition>
I work with Eclipse Europa 3.3.2 on Windows XP Pro.
Anyone has an idea what happens ?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4185108#4185108
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4185108
17 years, 6 months
[JBoss AOP] - Re: How to annotate in opposite way
by flavia.rainone@jboss.com
You can use the negation operator !.
First, take a look at the expression bellow:
call(* com.a..->*(..)) AND within(com.b..)
It will match every call to a method of a class in package com.a made by a class at package com.b
If you use this in a declare error tag, it will forbid any calls from classes of com.b to methods of classes of package com.a.
But this is not what you want. You have exceptions to this rule. There are 10 methods you want to allow being called by classes at com.b. In this case, you can use AND ! (and not):
call(* com.a..->*(..)) AND within (com.b..) AND !(call(<method_1>) OR call(<method_2>) OR ... OR call(<method_10>))
Whereas <method_i> stands for the expression matching the ith method you want to be allowed to be called, like:
* com.a.NameoftheClass->method1(..)
So, the expression above will forbid any calls from classes at package com.b made to methods of classes belonging to package com.a, except if those methods are one of the methods that match one of the expressions method_i.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4185103#4185103
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4185103
17 years, 6 months
[JBossMQ] - MessageDriven component stops listening to the queue
by trouby
Hey,
We have a small EJB3 with a method based on timer that sends JMS messages as follows:
| @Stateless()
| public class ScannerBean implements ScannerLocal {
| @Timeout
| public void sendMessages(Timer timer) {
| InitialContext ctx = new InitialContext();
| queue = (Queue) ctx.lookup("queue/velo/TasksDefaultQueue");
| QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
| connection = factory.createQueueConnection();
| session = connection.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE);
| messageProducer = session.createProducer(queue);
| messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
| BytesMessage bytesMsg = session.createBytesMessage();
| bytesMsg.setLongProperty("uniqueId", uniqueId);
| messageProducer.send(bytesMsg);
| }
| }
|
This component seems to work just fine and the messages are successfully stored on the JMS queue.
We have a very simple MessageDriven bean that listens to a JMS queue as follows:
| @MessageDriven(name="TaskExecuterMessageBean", activationConfig = {
| @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
| @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
| @ActivationConfigProperty(propertyName="destination", propertyValue="queue/velo/TasksDefaultQueue")
| })
| public class MDBTaskExecuter implements MessageListener {
|
| @EJB
| public SomeManager someManager;
|
| @Resource
| private MessageDrivenContext context;
|
| public void onMessage(Message msg) {
| long uniqueId = bm.getLongProperty("uniqueId");
|
| try{
| someManager.process(uniqueId);
| }catch(Exception e) {
| context.setRollbackOnly();
| }
| }
| }
|
Seems like this MessageDriven component suddenly stops receiving the messages and the queue grows up with not handled messages.
What may cause the MessageDriven bean suddenly stops working? is it a bug? there are any opened issues about this problem?
Thanks in advanced,
Asaf.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4185085#4185085
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4185085
17 years, 6 months