[JBoss Messaging] - JBM in an applet
by gaohoward
I need some advice on the steps to make a JBM applet work. Here is my steps:
1. write an applet that can do connection/disconnection, producer/consumer creation, messaging sending/receiving.
2. collect all necessary jars that the applet depends on (like log4j, aop, javassist etc).
3. Sign those jars as well as the applet jar.
4. deploy the applet along with those dependencies (signed) to the web server.
5. open a browser, visit the applet's url. Let the applet run the above operations.
I read the link Tim gave me, http://www.wutka.com/hackingjava/ch3.htm, it says if the applet is signed and much of the permissions is allowed.
But when I tried my applet, the browser ask me to allow the signed applet to be running. Then when I click on the applet's button to do connection/sending/receiving job, it get various permission exceptions along the way. To sum up, those permissions are :
permission java.lang.RuntimePermission "getClassLoader";
permission java.lang.RuntimePermission "accessDeclaredMembers";
permission java.lang.RuntimePermission "setContextClassLoader";
permission java.lang.RuntimePermission "createClassLoader";
permission java.net.SocketPermission "localhost:0-", "listen,connect,resolve,accept"; //default policy only allow port above 1024.
permission java.util.PropertyPermission "jboss.aop.*", "read";
permission java.util.PropertyPermission "user.home", "read";
permission java.util.PropertyPermission "org.jboss.remoting.*", "read";
permission java.util.PropertyPermission "jboss.remoting.*", "read";
permission java.util.PropertyPermission "jboss.remoting.*", "write";
permission java.util.PropertyPermission "legacyParsing", "read";
permission java.util.PropertyPermission "support.bytesId", "read";
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
Where did I missing something?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4247743#4247743
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4247743
16 years, 8 months
[JBoss jBPM] - How to design a Task Node with two Transition?
by prajatna
I have a task node (Ex. PM_Approval) in the process definition. There are two transitions associated with this node called "Accepted" & "Denied" . The Accepted transition connects to another Task Node "HOD_Approval" .And the Denied ends up with end-state....... The selection of transition should base on the decision , given by user in the action class.(ProcessAction in my design...given below.)
Now how to design this .. I tried with the following , but problem is that, when ever it goes to end state by selecting Reject transition, it is again begins from the current Node.
Please suggest....what is going wrong.. with my design..
Processdefinition.xml
| <start-state name="start">
| <transition to="PM_Approval" name="Test"></transition>
| </start-state>
|
|
| <task-node name="PM_Approval" >
| <event type="node-enter">
| <action class="com.sample.action.ProcessAction">
| </action>
| </event>
| <transition to="HOD_Approval"></transition>
| <transition to="end-state" name="Denied"></transition>
| </task-node>
ProcessAction.java
| public class ProcessAction implements ActionHandler {
|
| /**
| *
| */
| private static final long serialVersionUID = 1L;
|
| public void execute(ExecutionContext executionContext) throws Exception {
| System.out.println("######################---------ProcessAction------------1-----------------###################### .");
| System.out.println("This Node is---"+executionContext.getNode().getName());
|
| String decission = null;
|
| System.out.print("Enter your decission: ");
| BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
|
|
| try {
| decission = br.readLine();
| } catch (IOException ioe) {
| System.out.println("IO error trying to read your decission!");
| }
|
| //}
|
| System.out.println("Thanks for the desission, " + decission);
| System.out.println("######################---------ProcessAction------------2-----------------###################### .");
| if(decission != null && decission.equalsIgnoreCase("a")){
|
| System.out.println("######################---------ProcessAction----a--------3-----------------###################### .");
|
| executionContext.leaveNode("Accepted");
| }
| else if(decission != null && decission.equalsIgnoreCase("d")){
|
| System.out.println("######################---------ProcessAction-----d-------3-----------------###################### .");
| executionContext.leaveNode("Denied");
| }
| else if(decission != null && decission.equalsIgnoreCase("c")){
| System.out.println("######################---------ProcessAction-----c-------3-----------------###################### .");
|
| executionContext.leaveNode("checkBudget");
| }
| else{
| System.out.println("Error trying to read your decission!..Enter only a/d ");
| }
|
| }
| }
|
Java class I am using to invoke the process...( TravelProcessTest.java)
| public class TravelProcessTest extends TestCase {
|
| public static void main(String args[])throws Exception {
| new TravelProcessTest().execute();
| }
| public void execute() throws Exception {
|
|
|
| // Extract a process definition from the processdefinition.xml file.
| ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("simple/processdefinition.xml");
|
| ProcessInstance(processDefinition,map);
| ProcessInstance instance = new ProcessInstance(processDefinition);
|
| System.out.println("Hi............");
|
| System.out.println("######################---------------------1-----------------###################### .");
|
|
|
| instance.signal();
|
| System.out.println("######################---------------------3-----------------###################### .");
| displayStatus(instance);
| System.out.println("######################---------------------4-----------------###################### .");
| );
|
|
| }
|
| private void displayStatus(ProcessInstance instance) {
| String nodeName = instance.getRootToken().getNode().getName();
| System.out.println("You are now in node: "+nodeName);
| }
|
| }
| }
Console O/P
| 10:37:23,038 [main] INFO JbpmConfiguration : using jbpm configuration resource 'jbpm.cfg.xml'
| 10:37:23,038 [main] DEBUG JbpmConfiguration : loading defaults in jbpm configuration
| 10:37:23,128 [main] DEBUG ObjectFactoryImpl : adding object info 'default.jbpm.context'
| 10:37:23,128 [main] DEBUG ObjectFactoryImpl : adding object info 'resource.hibernate.cfg.xml'
| 10:37:23,128 [main] DEBUG ObjectFactoryImpl : adding object info 'resource.business.calendar'
| 10:37:23,128 [main] DEBUG ObjectFactoryImpl : adding object info 'resource.default.modules'
| 10:37:23,128 [main] DEBUG ObjectFactoryImpl : adding object info 'resource.converter'
| 10:37:23,128 [main] DEBUG ObjectFactoryImpl : adding object info 'resource.action.types'
| 10:37:23,128 [main] DEBUG ObjectFactoryImpl : adding object info 'resource.node.types'
| 10:37:23,149 [main] DEBUG ObjectFactoryImpl : adding object info 'resource.parsers'
| 10:37:23,149 [main] DEBUG ObjectFactoryImpl : adding object info 'resource.varmapping'
| 10:37:23,149 [main] DEBUG ObjectFactoryImpl : adding object info 'resource.mail.templates'
| 10:37:23,159 [main] DEBUG ObjectFactoryImpl : adding object info 'jbpm.byte.block.size'
| 10:37:23,159 [main] DEBUG ObjectFactoryImpl : adding object info 'jbpm.task.instance.factory'
| 10:37:23,159 [main] DEBUG ObjectFactoryImpl : adding object info 'jbpm.variable.resolver'
| 10:37:23,159 [main] DEBUG ObjectFactoryImpl : adding object info 'jbpm.mail.smtp.host'
| 10:37:23,159 [main] DEBUG ObjectFactoryImpl : adding object info 'jbpm.mail.address.resolver'
| 10:37:23,159 [main] DEBUG ObjectFactoryImpl : adding object info 'jbpm.mail.from.address'
| 10:37:23,169 [main] DEBUG ObjectFactoryImpl : adding object info 'jbpm.job.executor'
| 10:37:23,169 [main] DEBUG JbpmConfiguration : loading specific configuration...
| 10:37:23,179 [main] DEBUG ObjectFactoryImpl : adding object info 'jbpmConfiguration'
| 10:37:23,179 [main] INFO StaleObjectLogConfigurer : stale object exceptions will be hidden from logging
| 10:37:23,289 [main] DEBUG JpdlParser$JpdlEntityResolver : resolving schema reference publicId(null) systemId(http://jbpm.org/jpdl-3.2.xsd)
| 10:37:23,289 [main] DEBUG JpdlParser$JpdlEntityResolver : providing input source to local 'jpdl-3.2.xsd' resource
| 10:37:23,460 [main] DEBUG NodeTypes : node 'page' will not be available. class 'org.jboss.seam.pageflow.Page' couldn't be loaded
| 10:37:23,460 [main] DEBUG NodeTypes : node 'start-page' will not be available. class 'org.jboss.seam.pageflow.Page' couldn't be loaded
| 10:37:23,520 [main] DEBUG GraphElement : event 'process-start' on 'ProcessDefinition(processdefinition)' for 'Token(/)'
| Hi............
| ######################---------------------1-----------------###################### .
| ######################---------------------2-----------------###################### .
| 10:37:23,530 [main] DEBUG GraphElement : event 'before-signal' on 'StartState(start)' for 'Token(/)'
| 10:37:23,530 [main] DEBUG GraphElement : event 'node-leave' on 'StartState(start)' for 'Token(/)'
| 10:37:23,530 [main] DEBUG GraphElement : event 'transition' on 'Transition(Test)' for 'Token(/)'
| 10:37:23,530 [main] DEBUG GraphElement : event 'node-enter' on 'TaskNode(PM_Approval)' for 'Token(/)'
| 10:37:23,530 [main] DEBUG GraphElement : executing action 'Action(1efb836)'
| 10:37:23,530 [main] DEBUG Token : token[0] is locked by token[0]
| ######################---------ProcessAction------------1-----------------###################### .
| This Node is---PM_Approval
| Enter your decission: d
| Thanks for the desission, d
| ######################---------ProcessAction------------2-----------------###################### .
| ######################---------ProcessAction-----d-------3-----------------###################### .
| 10:37:34,071 [main] DEBUG GraphElement : event 'node-leave' on 'TaskNode(PM_Approval)' for 'Token(/)'
| 10:37:34,071 [main] DEBUG GraphElement : event 'transition' on 'Transition(Denied)' for 'Token(/)'
| 10:37:34,071 [main] DEBUG GraphElement : event 'node-enter' on 'EndState(end-state)' for 'Token(/)'
| 10:37:34,071 [main] DEBUG GraphElement : event 'process-end' on 'ProcessDefinition(processdefinition)' for 'Token(/)'
| 10:37:34,071 [main] DEBUG Token : token[0] is unlocked by token[0]
| 10:37:34,071 [main] DEBUG GraphElement : event 'node-leave' on 'TaskNode(PM_Approval)' for 'Token(/)'
| 10:37:34,071 [main] DEBUG GraphElement : event 'transition' on 'Transition(cec0c5)' for 'Token(/)'
| 10:37:34,071 [main] DEBUG GraphElement : event 'node-enter' on 'TaskNode(HOD_Approval)' for 'Token(/)'
| 10:37:34,071 [main] DEBUG GraphElement : executing action 'Action(116ab4e)'
|
|
As you can see, even when decision is denied , it is going to end state.. but again coming to next node...
Thanks in advance for your suggestion..
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4247733#4247733
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4247733
16 years, 8 months