I'm trying to deploy our ProcessDefinition by code rather than manually.  We're 
getting an error but I don't know what it might mean:

anonymous wrote : 
  | 09:36:53,968 [Start EFile Destruct Workflow-admin] INFO  JBPMAccessor : 
[JBPMAccessor.startEfileDestructionProcess] Did not find latest Process 
Definition of JBPMEfileProcess...
  | 09:36:53,968 [Start EFile Destruct Workflow-admin] INFO  JBPMAccessor : 
[JBPMAccessor.startEfileDestructionProcess] This was the error: 
org.jbpm.JbpmException: couldn't find process definition 'JBPMEfileProcess'
  | 09:36:53,968 [Start EFile Destruct Workflow-admin] INFO  JBPMAccessor : 
[JBPMAccessor.startEfileDestructionProcess] Attempting to deploy Process 
Definition of JBPMEfileProcess...
  | 09:36:53,968 [Start EFile Destruct Workflow-admin] INFO  JBPMAccessor : 
Entering deployNewProcessDefinition
  | 09:36:53,968 [Start EFile Destruct Workflow-admin] DEBUG JbpmContextInfo : 
creating jbpm context with service factories '[message, tx, scheduler, 
authentication, persistence, logging]'
  | 09:36:53,968 [Start EFile Destruct Workflow-admin] DEBUG JbpmContext : 
creating [EMAIL PROTECTED]
  | 09:36:53,968 [Start EFile Destruct Workflow-admin] INFO  JBPMAccessor : 
Retrieved jbpmContext.
  | 09:36:54,031 [Start EFile Destruct Workflow-admin] WARN  JpdlParser : 
couldn't set xml parser property property 
'http://java.sun.com/xml/jaxp/properties/schemaLanguage' to 
'http://www.w3.org/2001/XMLSchema'
  | org.xml.sax.SAXNotRecognizedException: Property: 
http://java.sun.com/xml/jaxp/properties/schemaLanguage
  |     at 
org.apache.crimson.parser.XMLReaderImpl.setProperty(XMLReaderImpl.java:257)
  |     at 
org.apache.crimson.jaxp.SAXParserImpl.setProperty(SAXParserImpl.java:177)
  |     at org.jbpm.jpdl.xml.JpdlParser.createXmlReader(JpdlParser.java:77)
  |     at org.jbpm.jpdl.xml.JpdlParser.createSaxReader(JpdlParser.java:62)
  |     at org.jbpm.jpdl.xml.JpdlParser.parse(JpdlParser.java:56)
  |     at 
org.jbpm.jpdl.xml.JpdlXmlReader.readProcessDefinition(JpdlXmlReader.java:142)
  |     at 
org.jbpm.graph.def.ProcessDefinition.parseXmlReader(ProcessDefinition.java:181)
  |     at 
com.rco.bpm.util.JBPMAccessor.deployNewProcessDefinition(JBPMAccessor.java:327)
  |     at 
com.rco.bpm.util.JBPMAccessor.startEfileDestructionProcess(JBPMAccessor.java:71)
  |     at 
com.rco.jsp.CJobs2$CStartElectronicFileDestructionWorkflowJob.runJob(CJobs2.java:197)
  |     at com.rco.jsp.CJobControl$CJobThread.run(CJobControl.java:2246)
  | 

The ap runs under Tomcat.  We have another installation where we deployed the 
process definition manually and we do not have any problem with the jBPM 
engine.  I'm wondering if I have some wrong or missing jar on my system.  In 
case it helps, the code that creates this error is below:


  |    /**
  |     * Method to create a new JBPM process
  |     *
  |     * @param orgNumber The organization number for the new process
  |     * @param suborgNumber The suborg number for the new process
  |     * @return processID The unique ID of this newly created destruction task
  |     */
  |    public static long startEfileDestructionProcess(String orgNumber, String 
suborgNumber) throws RMSException{
  |       long processID = -1;
  |       log.info("Entering startEfileDestructionProcess");
  | 
  |       //Check if the jbpmConfiguration has been setup
  |       if( jbpmConfiguration == null ){
  |          //retrieve it
  |          log.info("JBPMConfiguration was null, creating instance.");
  |          jbpmConfiguration = JbpmConfiguration.getInstance();
  |       }
  | 
  |       //Doing a try and catch for all so the RMSException can contain the 
relevant info
  |        // Lookup the pojo persistence context-builder that is configured 
above
  |        JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
  |          log.info("Retrieved jbpmContext.");
  | 
  | 
  |        try {
  | 
  |          // Make sure we're deployed.
  |          String strFilePath = "C:\\Documents and Settings\\All 
Users\\Documents\\RoyImage2000\\application\\webapps\\Image2000\\WEB-INF\\classes\\processdefinition.xml";
  | 
  |          try
  |          {
  |             log.info("[JBPMAccessor.startEfileDestructionProcess] Finding 
latest Process Definition of JBPMEfileProcess "
  |                + " in file: " + strFilePath);
  |             
jbpmContext.getGraphSession().findLatestProcessDefinition("JBPMEfileProcess");
  |             log.info("[JBPMAccessor.startEfileDestructionProcess] Found 
latest Process Definition of JBPMEfileProcess");
  |          }
  |          catch (JbpmException je)
  |          {
  |             // Procession definition probably not deployed.  Deploy it.
  |             log.info("[JBPMAccessor.startEfileDestructionProcess] Did not 
find latest Process Definition of JBPMEfileProcess...");
  |             log.info("[JBPMAccessor.startEfileDestructionProcess] This was 
the error: " + je.toString());
  |             log.info("[JBPMAccessor.startEfileDestructionProcess] 
Attempting to deploy Process Definition of JBPMEfileProcess...");
  |             deployNewProcessDefinition(strFilePath);
  |             log.info("[JBPMAccessor.startEfileDestructionProcess] After 
attempting to deploy Process Definition of JBPMEfileProcess...");
  |          }
  | 
  |          log.info("Creating process");
  | 
  |          //Create a new Process Instance of JBPMEfileProcess
  |          ProcessInstance processInstance = 
jbpmContext.newProcessInstance("JBPMEfileProcess");
  |          log.info("Created process");
  |          processID = processInstance.getId();
  |          log.info("ProcessID is ["+processID+"]");
  | 
  |          //Set the key variables
  |          
processInstance.getContextInstance().createVariable("OrgNumber",orgNumber);
  | 
  |          log.info("Set Org Number");
  |          
processInstance.getContextInstance().createVariable("SubOrgNumber",suborgNumber);
  |          log.info("Set SubOrg Number");
  | 
  |          // Now the processInstance is saved in the database.  So the
  |          // current state of the execution of the process is stored in the
  |          // database.
  |          processInstance.signal();
  |          jbpmContext.save(processInstance);
  |          log.info("Saved New Process");
  |       }catch(Exception e){
  |          String message = "Error creating new RMS 
process["+e.getMessage()+"]";
  |          e.printStackTrace();
  |          throw new RMSException(1,message);
  |       }
  |       finally {
  |             // Tear down the pojo persistence context.
  |             jbpmContext.close();
  |       }
  | 
  |       log.info("Exiting startEfileDestructionProcess, created 
processID["+processID+"]");
  |       return processID;
  |    }
  | 
  | /**
  |     * Method to deploy a new Process Definition, this method most likely 
will be removed
  |     * or otherwise protected
  |     * @param arg The full filepath of the new process definition to deploy
  |     */
  |    public static void deployNewProcessDefinition(String arg){
  |       log.info("Entering deployNewProcessDefinition");
  | 
  |       //Check if the jbpmConfiguration has been setup
  |       if( jbpmConfiguration == null ){
  |          //retrieve it
  |          log.info("JBPMConfiguration was null, creating instance.");
  |          jbpmConfiguration = JbpmConfiguration.getInstance();
  |       }
  | 
  |       //Doing a try and catch for all so the RMSException can contain the 
relevant info
  |        // Lookup the pojo persistence context-builder that is configured 
above
  |        JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
  |        log.info("Retrieved jbpmContext.");
  | 
  |        if( arg == null || arg.length() == 0 ){
  |           log.error("File name must be specified, cannot deploy new 
process.");
  |        }
  |        else{
  |           try {
  |             FileReader fr = new FileReader(arg);
  |             ProcessDefinition newProcessDefinition = 
ProcessDefinition.parseXmlReader(fr);
  |             log.info("Deploying process");
  | 
  |             jbpmContext.deployProcessDefinition(newProcessDefinition);
  | 
  |             log.info("Deployed New ProcessDefinition");
  |          }catch(Exception e){
  |             e.printStackTrace();
  |          }
  |          finally {
  |                // Tear down the pojo persistence context.
  |                jbpmContext.close();
  |          }
  |        }
  |       log.info("Exiting deployNewProcessDefinition");
  | 
  |    }
  | 
  | 

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4045095#4045095

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4045095
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to