[EJB3] - Unable to catch RuntimeException in client EJB
by Bibhu Jena
Bibhu Jena [https://community.jboss.org/people/bibhu] created the discussion
"Unable to catch RuntimeException in client EJB"
To view the discussion, visit: https://community.jboss.org/message/760639#760639
--------------------------------------------------------------
Hi,
I want to throw a runtime exception from my dao layer ,and catch it in service layer to parse the exception and show a meaningful message to user.
But, when I do this , EJB wraps this exception with RolledBackException and the client EJB is not able to catch it as it expects a SecurityBreakException which extends RuntimeException.
I can't throw a checked exception from the class as it implements HibernateListenrs.
Adding sample code snippet for more clarity:
// after every save/update/delete the follwing class get triggered
public class DataChangeListener implements PostDeleteEventListener, PostUpdateEventListener, PostInsertEventListener, Initializable {
public void onPostInsert(final PostInsertEvent event) {
//check if the user is not allowed to do so ,throw a SecurityBreakException
// else do nothing and let the transaction commit.
}
public void onPostUpdate(PostUpdateEvent event) {
//same as onPostInsert
}
public void onPostDelete(PostDeleteEvent event) {
//same as onPostInsert
}
@Local public interface SaveUserDataService{
public void save(Person person);
}
//client EJB which expects a SecurityBreakException
@Stateful SaveUserDataServiceBean implements SaveUserDataService{
public void save(Person person){
try{ //code to call dao layer to save a person
} catch (SecurityBreakException e) {
// parse the exception and show a meaningful message to user
}
}
}
//The exception class
public class SecurityBreakException extends RuntimeException {
private static final long serialVersionUID = 1L;
String message;
public SecurityBreakException(String message) {
super(message); this.message = message;
}
}
Please guide.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/760639#760639]
Start a new discussion in EJB3 at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 4 months
[jBPM] - Error on server
by loaone seleka
loaone seleka [https://community.jboss.org/people/loaone] created the discussion
"Error on server"
To view the discussion, visit: https://community.jboss.org/message/758523#758523
--------------------------------------------------------------
Hello
I cannot start my human task because it doesnt recognise
my port and ip address. Please help
0 07/09 12:15:56,390[main] ERROR service.hornetq.HornetQTaskClientConnector.connect - Unable to connect to server using configuration org-hornetq-core-remoting-impl-netty-NettyConnectorFactory?port=5445&host=127-0-0-1
Exception in thread "main" org.jbpm.workflow.instance.WorkflowRuntimeException: [com.human.bpmn:1 - Human1:3] -- Could not connect task client: on ip: 127.0.0.1 - port: 5445
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:130)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:205)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:164)
at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:124)
at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35)
at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:188)
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:303)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:168)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:138)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:130)
at org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1077)
at org.drools.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:315)
at human.TestProcess.main(TestProcess.java:25)
Caused by: java.lang.IllegalArgumentException: Could not connect task client: on ip: 127.0.0.1 - port: 5445
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler.connect(GenericHTWorkItemHandler.java:119)
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler.executeWorkItem(GenericHTWorkItemHandler.java:143)
at org.drools.process.instance.impl.DefaultWorkItemManager.internalExecuteWorkItem(DefaultWorkItemManager.java:70)
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:105)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:124)
... 14 more
Sep 7, 2012 12:16:05 PM org.hornetq.core.logging.impl.JULLogDelegate warn
WARNING: I'm closing a core ServerLocator you left open. Please make sure you close all ServerLocators explicitly before letting them go out of scope! 3658896
Sep 7, 2012 12:16:05 PM org.hornetq.core.logging.impl.JULLogDelegate warn
WARNING: The ServerLocator you didn't close was created here:
java.lang.Exception
at org.hornetq.core.client.impl.ServerLocatorImpl.<init>(ServerLocatorImpl.java:387)
at org.hornetq.core.client.impl.ServerLocatorImpl.<init>(ServerLocatorImpl.java:484)
at org.hornetq.api.core.client.HornetQClient.createServerLocatorWithoutHA(HornetQClient.java:112)
at org.jbpm.task.service.hornetq.HornetQTaskClientConnector.connect(HornetQTaskClientConnector.java:93)
at org.jbpm.task.service.hornetq.HornetQTaskClientConnector.connect(HornetQTaskClientConnector.java:74)
at org.jbpm.task.service.TaskClient.connect(TaskClient.java:790)
at org.jbpm.task.service.SyncTaskServiceWrapper.connect(SyncTaskServiceWrapper.java:193)
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler.connect(GenericHTWorkItemHandler.java:117)
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler.executeWorkItem(GenericHTWorkItemHandler.java:143)
at org.drools.process.instance.impl.DefaultWorkItemManager.internalExecuteWorkItem(DefaultWorkItemManager.java:70)
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:105)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:124)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:205)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:164)
at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:124)
at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35)
at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:188)
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:303)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:168)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:138)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:130)
at org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1077)
at org.drools.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:315)
at human.TestProcess.main(TestProcess.java:25)
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/758523#758523]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 4 months
[Beginner's Corner] - JBoss AS 7 with OSGi and JMS
by marquies
marquies [https://community.jboss.org/people/marquies] created the discussion
"JBoss AS 7 with OSGi and JMS"
To view the discussion, visit: https://community.jboss.org/message/747886#747886
--------------------------------------------------------------
Hi all!
What I want to do: I would like to build an OSGi bundle whichs connects to a JMS queue, all in JBoss AS.
What I have done: I tried and compiled the quickstarts helloworld-osgi and helloworld-jms, both successfull. Then I mixed them, I copied the JMS code to the OSGi bundle changed the pom. It compiles, the bundle is build, but the installation in jboss failed: missing requirement [Module[jboss-as-helloworld-osgi:7.1.1.Final]] package; (package=javax.jms)
I guessed that JBoss AS provides javax.jms, doesn't it?
01:57:08,777 INFO [org.jboss.as.server] (management-handler-thread - 14) JBAS018562: Redeployed "jboss-as-helloworld-osgi-7.1.1.Final.jar"
01:57:08,778 INFO [org.jboss.as.server] (management-handler-thread - 14) JBAS018565: Replaced deployment "jboss-as-helloworld-osgi-7.1.1.Final.jar" with deployment "jboss-as-helloworld-osgi-7.1.1.Final.jar"
01:57:08,777 ERROR [org.jboss.as.osgi] (MSC service thread 1-4) JBAS011900: Cannot start bundle: jboss-as-helloworld-osgi:7.1.1.Final: org.osgi.framework.BundleException: Cannot resolve bundle: jboss-as-helloworld-osgi:7.1.1.Final
at org.jboss.osgi.framework.internal.HostBundleState.startInternal(HostBundleState.java:212) [jbosgi-framework-core-1.1.8.Final.jar:1.1.8.Final]
at org.jboss.osgi.framework.internal.AbstractBundleState.start(AbstractBundleState.java:494) [jbosgi-framework-core-1.1.8.Final.jar:1.1.8.Final]
at org.jboss.as.osgi.deployment.BundleStartTracker$1.processService(BundleStartTracker.java:144) [jboss-as-osgi-service-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.osgi.deployment.BundleStartTracker$1.transition(BundleStartTracker.java:119) [jboss-as-osgi-service-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl.invokeListener(ServiceControllerImpl.java:1416) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl.access$2700(ServiceControllerImpl.java:49) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$ListenerTask.run(ServiceControllerImpl.java:1954) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_33]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_33]
at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_33]
01:57:08,779 ERROR [jboss-as-helloworld-osgi] (Thread-79) FrameworkEvent ERROR: org.apache.felix.log.LogException: org.osgi.framework.BundleException: Cannot resolve bundle resModule: [jboss-as-helloworld-osgi:7.1.1.Final]
at org.jboss.osgi.framework.internal.ResolverPlugin.resolve(ResolverPlugin.java:157)
at org.jboss.osgi.framework.internal.AbstractBundleState.ensureResolved(AbstractBundleState.java:551)
at org.jboss.osgi.framework.internal.HostBundleState.startInternal(HostBundleState.java:211)
at org.jboss.osgi.framework.internal.AbstractBundleState.start(AbstractBundleState.java:494)
at org.jboss.as.osgi.deployment.BundleStartTracker$1.processService(BundleStartTracker.java:144)
at org.jboss.as.osgi.deployment.BundleStartTracker$1.transition(BundleStartTracker.java:119)
at org.jboss.msc.service.ServiceControllerImpl.invokeListener(ServiceControllerImpl.java:1416)
at org.jboss.msc.service.ServiceControllerImpl.access$2700(ServiceControllerImpl.java:49)
at org.jboss.msc.service.ServiceControllerImpl$ListenerTask.run(ServiceControllerImpl.java:1954)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_33]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_33]
at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_33]
Caused by: org.apache.felix.log.LogException: org.jboss.osgi.resolver.XResolverException: Unable to resolve Module[jboss-as-helloworld-osgi:7.1.1.Final]: missing requirement [Module[jboss-as-helloworld-osgi:7.1.1.Final]] package; (package=javax.jms)
at org.jboss.osgi.resolver.felix.FelixResolver.resolveInternal(FelixResolver.java:117)
at org.jboss.osgi.resolver.spi.AbstractResolver.resolve(AbstractResolver.java:149)
at org.jboss.osgi.framework.internal.ResolverPlugin.resolve(ResolverPlugin.java:155)
... 11 more
Generated MANIFEST.MF
Manifest-Version: 1.0
Built-By: breucking
Build-Jdk: 1.6.0_33
Bundle-Version: 7.1.1.Final
Tool: Bnd-1.15.0
Bundle-Name: jboss-as-helloworld-osgi
Bnd-LastModified: 1342140094712
Bundle-Activator: org.jboss.as.quickstarts.helloworld.osgi.Activator
Created-By: Apache Maven Bundle Plugin
Bundle-ManifestVersion: 2
Bundle-SymbolicName: jboss-as-helloworld-osgi
Import-Package: javax.jms,javax.naming,org.osgi.framework;version="[1.
5,2)"
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/747886#747886]
Start a new discussion in Beginner's Corner at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 5 months
[Performance Tuning] - jboss cpu spike - GC?
by jboden
jboden [https://community.jboss.org/people/jboden] created the discussion
"jboss cpu spike - GC?"
To view the discussion, visit: https://community.jboss.org/message/762252#762252
--------------------------------------------------------------
Hi,
I have a jboss 5.1 app with sun jdk 1.7.something. At night, it runs a large job and gobbles memory. The process gets to 2.5GB and never goes down, but I hear that's normal with heap space? But after a few days of this, I begin to see the cpu spike to 100% of one cpu for a few seconds, then go down. This happens every 5 seconds or so, probably GC?
Using mostly a default run.bat, I have the jvm args set to:
-Xrs -Xms256M -Xmx2048M -XX:MaxPermSize=256m -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC
-Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
-Dorg.jboss.resolver.warning=true
Should we be doing something more specific? And if the GC keeps running that often even after the thread to do the nightly job has ended, do I have a memory leak somewhere? We do sometimes run out of memory, but maybe it needs Xmx of 4gb just to finish the job.
I'm going to up the memory anyway, but what clues do we look for to determine if there is a leak and/or better GC settings?
Thank you very much!
Jim
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/762252#762252]
Start a new discussion in Performance Tuning at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 5 months
[jBPM] - Installing jbpm 5.3 with guvnor 5.4 issue under jboss 5.1
by Miloud Haimoune
Miloud Haimoune [https://community.jboss.org/people/milhaim] created the discussion
"Installing jbpm 5.3 with guvnor 5.4 issue under jboss 5.1"
To view the discussion, visit: https://community.jboss.org/message/739346#739346
--------------------------------------------------------------
Hi all,
I 'm migrating to jbpm 5.3 witch uses guvnor 5.4
I tried to use jbpm installer and I got the following error :
Caused by: java.lang.ClassNotFoundException: javax.validation.MessageInterpolator$Context
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
I downloaded the jar and added validation-api-1.0.0.GA.jar I got this exception :
javax.inject.DefinitionException: Can't determine type of element <modifies> in bean 'GuvnorBootstrapConfiguration'
at org.jboss.webbeans.xml.checker.beanchildren.ext.AbstractBeanChildrenChecker.checkBeanChild(AbstractBeanChildrenChecker.java:134)
at org.jboss.webbeans.xml.checker.beanchildren.ext.AbstractBeanChildrenChecker.checkChildren(AbstractBeanChildrenChecker.java:89)
......
java.lang.RuntimeException: mapped-name is required for BeanManager of deployment guvnor-5.4.0.Final-jboss-eap-5.1.war
at org.jboss.web.tomcat.service.injection.WebResourceHandler.loadXmlResourceEnvRefs(WebResourceHandler.java:287)
at org.jboss.web.tomcat.service.injection.WebResourceHandler.loadXml(WebResourceHandler.java:325)
at org.jboss.web.tomcat.service.TomcatInjectionContainer.processMetadata(TomcatInjectionContainer.java:550)
at org.jboss.web.tomcat.service.WebCtxLoader.start(WebCtxLoader.java:158)
did anyone had this issue or if you have a solution ?
(I don't want to use tomcat server since my application is running under Jboss 5.1)
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/739346#739346]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 5 months