cancel
Showing results for 
Search instead for 
Did you mean: 

Activiti listeners not working

logic3
Champ in-the-making
Champ in-the-making
HI,

I am trying to catch all the events for a process running on the Activiti explorer. I have implemented the bpmnparselistener class and moved my handler classes as Jars file to the WEB-INF/lib folder (ParseListener.jar). I have uploaded my process to the explorer using the bar file. However. no events are generated for the deployed process i.e. start event. I think It is my code below, which i am not sure where to put. Currently, it is in \webapps\activiti-explorer\WEB-INF\applicationContext.xml. I tried embedding the Listener with in the BPMN xml file and it worked but look like the Activiti can not read when using BPMNParseListener (implemented). It doesn't raise any exceptions or errors. My understanding is that Activiti engine automatically understand the customPostBPMNParseListeners property and there is nothing to declare in the process itself

 <property name="customPostBPMNParseListeners">
      <list>
        <bean class="org.handler.ParseListener"></bean>
      </list>
    </property>



Any help would be highly appreciated

thanks,
32 REPLIES 32

udoderk
Champ in-the-making
Champ in-the-making
Hi,
i assume, that no correlation exists.
I tested the following simple bpmn process, that i have just deployed.

The logs, that appear immediately after process deploying by activiti explorer (upload functionality) (before process started):

Information: XPath currently not supported as expressionLanguage
Dez 19, 2012 4:01:22 PM org.activiti.engine.impl.bpmn.parser.BpmnParse parseProcessDefinitions
Information: Process with id='process1' hasn't the attribute isExecutable set. Please maintain it, so you are compatible to future activiti versions.
call parseStartEvent
call parseUserTask
call parseEndEvent
call parseProcess

After process start no parse-method will be recalled.

The bpmn file for test :
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlnsSmiley Surprisedmgdc="http://www.omg.org/spec/DD/20100524/DC" xmlnsSmiley Surprisedmgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
  <process id="process1" name="process1">
    <startEvent id="startevent1" name="Start"></startEvent>
    <userTask id="usertask1" name="User Task" activiti:assignee="kermit" activiti:candidateUsers="kermit">
      <documentation>test user task creation by activti designer</documentation>
      <extensionElements>
        <activiti:formProperty id="testit" name="tst" type="string" readable="true" writable="true"></activiti:formProperty>
      </extensionElements>
    </userTask>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="flow1" name="" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
    <sequenceFlow id="flow2" name="" sourceRef="usertask1" targetRef="endevent1"></sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_process1">
    <bpmndi:BPMNPlane bpmnElement="process1" id="BPMNPlane_process1">
      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
        <omgdc:Bounds height="35" width="35" x="410" y="170"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
        <omgdc:Bounds height="55" width="105" x="550" y="160"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
        <omgdc:Bounds height="35" width="35" x="710" y="170"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="445" y="187"></omgdi:waypoint>
        <omgdi:waypoint x="550" y="187"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="655" y="187"></omgdi:waypoint>
        <omgdi:waypoint x="710" y="187"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>

frederikherema1
Star Contributor
Star Contributor
Process-definitions are cached, so the parse will only be called when:

- Process is new and is deployed
- Process exists and is not yet used since the activiti-engine has booted OR has been evicted from the process-definition cache.

So parse-listeners ARE working. They're only called once. Since process-definitions are immutable, it doesn't make sense to parse the XML of the process-definition again, since we're 100% sure it's still the same.. Joram added some interesting stuff to the 5.12 to allow the definition-cache to be pluggable.

If you want to add listeners for STARTING a process, use execution-listeners (see user guide) instead of parse-listeners…

logic3
Champ in-the-making
Champ in-the-making
HI,

I am sorry but I am confused now.
Basically, I was using execution listeners earlier to catch events every time a process is executed (regardless of first time only). I had to embed the execution listeners within the process to generate events (for process itself, service tasks, script tasks, usertask etc). However, I was looking for a more generic approach by not embedding the listener within the process but rather external. That's when I was told to use BPMNParseListener (like history functionality). I wanted to catch all the events a process could generate.

For example, my service tasks are implemented as webservices and they could be invoked many time at runtime.  You mean I can not use the BPMNParseListener Class because it only works for a newly deployed process and is executed once. It can not be used if a process is executed multiple time for some reasons.

Please advise as it is very important for me to know

thanks

udoderk
Champ in-the-making
Champ in-the-making
Look at org.activiti.engine.impl.persistence.deploy.DeploymentCache.resolveProcessDefinition(ProcessDefinitionEntity).
Only if processDefinition==null, so it will be parsed.
Show call hiearchy of
org.activiti.engine.impl.bpmn.parser.BpmnParse.parseProcessDefinitions()
So you can not use the BPMNParseListener during runtime.

The org.activiti.engine.impl.persistence.deploy.DeploymentCache.resolveProcessDefinition(ProcessDefinitionEntity):
  protected ProcessDefinitionEntity resolveProcessDefinition(ProcessDefinitionEntity processDefinition) {
    String processDefinitionId = processDefinition.getId();
    String deploymentId = processDefinition.getDeploymentId();
    processDefinition = processDefinitionCache.get(processDefinitionId);
[b]    if (processDefinition==null) {[/b]
      DeploymentEntity deployment = Context
        .getCommandContext()
        .getDeploymentManager()
        .findDeploymentById(deploymentId);
      deployment.setNew(false);
      deploy(deployment);
      processDefinition = processDefinitionCache.get(processDefinitionId);
     
      if (processDefinition==null) {
        throw new ActivitiException("deployment '"+deploymentId+"' didn't put process definition '"+processDefinitionId+"' in the cache");
      }
    }
    return processDefinition;
  }

frederikherema1
Star Contributor
Star Contributor
@ logic3: A BPMNParseListener is a good approach for adding Execution-listeners or task-listeners to ALL processes, without defining the explicit ally in the process.

So when a process is parsed (or any element you're interested in), you should add an instance of the execution-listener you want to it. A good example is this class in Alfresco, which adds task-listeners to all tasks, to do validation:

http://svn.alfresco.com/repos/alfresco-open-mirror/alfresco/HEAD/root/projects/repository/source/jav...


@Override
    public void parseUserTask(Element userTaskElement, ScopeImpl scope, ActivityImpl activity)
    {
        ActivityBehavior activitybehaviour = activity.getActivityBehavior();
        if (activitybehaviour instanceof UserTaskActivityBehavior)
        {
            UserTaskActivityBehavior userTaskActivity = (UserTaskActivityBehavior) activitybehaviour;
            if (createTaskListener != null)
            {
                userTaskActivity.getTaskDefinition().addTaskListener(TaskListener.EVENTNAME_CREATE, createTaskListener);
            }
            if (completeTaskListener != null)
            {
                userTaskActivity.getTaskDefinition().addTaskListener(TaskListener.EVENTNAME_COMPLETE,
                        completeTaskListener);
            }
        }
    }

logic3
Champ in-the-making
Champ in-the-making
@frederikheremans: this is a relief. So i can still get events at runtime

This is what I have been doing. for example


public class ParseListener implements BpmnParseListener {

protected static final ActivityInstanceStartHandler ACTIVITY_INSTANCE_START_LISTENER = new ActivityInstanceStartHandler();

protected void addActivityHandlers(ActivityImpl activity) {

     activity.addExecutionListener(PvmEvent.EVENTNAME_START, ACTIVITY_INSTANCE_START_LISTENER, 0);
     activity.addExecutionListener(PvmEvent.EVENTNAME_END, ACTIVITY_INSTANCE_END_LISTENER);
  
}}

and my ActivityInstanceStartHandler class


public class ActivityInstanceStartHandler implements ExecutionListener{
 
  public void notify(DelegateExecution execution) {
 
   String activityId = ((ExecutionEntity) execution).getActivityId();
   System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>———————> Activity Start Event of "+activityId);
   System.out.println("Activity = " +activityId);
   
  }
}


but as I explain earlier, the deployed process generate no event. Could you please help?

thanks

frederikherema1
Star Contributor
Star Contributor
protected void addActivityHandlers(ActivityImpl activity) {
Is this piece of code called from within the "parseProcess()" method on BPMNParseListener? As I said before, the bpmnparselistener is only called once per process, so once the listeners are added to the definition, the BPMNParseListener doesn't need to be called again…

logic3
Champ in-the-making
Champ in-the-making
My code is inspired from the HistoryParseListener and the piece of code is called from various other methods i.e. parseScriptTask(), ParseUserTask() etc. I have my handler classes for handling various tasks with in a process ( as in HistoryParseListener)

Even if the bpmnparselistener is only called once per process, do you think the added execution listener could be executed more than once for a particular service task or a user task (if invoked more than once)

thanks

frederikherema1
Star Contributor
Star Contributor
do you think the added execution listener could be executed more than once for a particular service task or a user task (if invoked more than once)

yes, that's exactly what should happen… otherwise, history wouldn't work for more than on process

logic3
Champ in-the-making
Champ in-the-making
I am sorry but I have to start this again as I still have no success with it. I have implemented my BPMNPasrseListener class like the HistoryParseListner class and copied my handler classes as Jars file to the WEB-INF/lib folder. I have uploaded my process to the explorer using the bar file.
(https://svn.codehaus.org/activiti/activiti/branches/meyerd/modules/activiti-engine/src/main/java/org...)

But it does nothing. I added the customPostBPMNParseListeners property to my activiti-explorer\WEB-INF\applicationContext.xml. It manages to find my BPMNPasrseListener class when I execute the demo.start and displays ———————————————————
>>>>>>>>>>>>>>>>>>>>>> CLASS LOADED <<<<<<<<<<<<<<<<<<<<: org.bpmnwithactiviti.handler.MyBpmnParseListener
———————————————————
But nothing when the actual process is executed.

How I Test It:
-I create a BPMN diagram and then generate a bar file for it
-Start server with ant demo.start and upload the bar file to the Activiti explorer
-and then run the process from the explorer
However, nothing happens during these steps

I will really appreciate your help!. Below you can find the output.
INFO: Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
———————————————————
>>>>>>>>>>>>>>>>>>>>>> CLASS LOADED <<<<<<<<<<<<<<<<<<<<: org.bpmnwithactiviti.handler.MyBpmnParseListener
———————————————————
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Jan 9, 2013 9:51:31 AM org.activiti.engine.impl.ProcessEngineImpl <init>
INFO: ProcessEngine default created
Jan 9, 2013 9:51:31 AM org.activiti.engine.impl.jobexecutor.JobAcquisitionThread run
INFO: JobAcquisitionThread starting to acquire jobs
Jan 9, 2013 9:51:31 AM org.activiti.engine.ProcessEngines initProcessEnginFromResource
INFO: initializing process engine for resource jar:file:/C:/Activiti%20engine/activiti-5.10/apps/apache-tomcat-6.0.
32/webapps/activiti-explorer/WEB-INF/lib/activiti-cfg.jar!/activiti.cfg.xml
Jan 9, 2013 9:51:32 AM org.activiti.engine.impl.ProcessEngineImpl <init>
INFO: ProcessEngine default created
Jan 9, 2013 9:51:32 AM org.activiti.engine.ProcessEngines initProcessEnginFromResource
INFO: initialised process engine default
Jan 9, 2013 9:51:32 AM org.activiti.engine.impl.jobexecutor.JobAcquisitionThread run
INFO: JobAcquisitionThread starting to acquire jobs
Jan 9, 2013 9:51:32 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor host-manager.xml
Jan 9, 2013 9:51:32 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
Jan 9, 2013 9:51:32 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory activiti-rest
Jan 9, 2013 9:51:32 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\Activiti engine\activiti-5.10\apps\apache-tomcat-6.0.32\webapps\activiti-rest\WEB-INF\lib\
geronimo-servlet_3.0_spec-1.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/se
rvlet/Servlet.class
Jan 9, 2013 9:51:32 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\Activiti engine\activiti-5.10\apps\apache-tomcat-6.0.32\webapps\activiti-rest\WEB-INF\lib\
servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.
class
Jan 9, 2013 9:51:33 AM org.activiti.engine.ProcessEngines initProcessEnginFromResource
INFO: initializing process engine for resource file:/C:/Activiti%20engine/activiti-5.10/apps/apache-tomcat-6.0.32/w
ebapps/activiti-rest/WEB-INF/classes/activiti.cfg.xml
log4j:WARN No appenders could be found for logger (org.springframework.beans.factory.xml.XmlBeanDefinitionReader).
log4j:WARN Please initialize the log4j system properly.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Jan 9, 2013 9:51:35 AM org.activiti.engine.impl.ProcessEngineImpl <init>
INFO: ProcessEngine default created
Jan 9, 2013 9:51:35 AM org.activiti.engine.ProcessEngines initProcessEnginFromResource
INFO: initialised process engine default
Jan 9, 2013 9:51:35 AM org.activiti.engine.impl.jobexecutor.JobAcquisitionThread run
INFO: JobAcquisitionThread starting to acquire jobs
Jan 9, 2013 9:51:35 AM org.activiti.engine.ProcessEngines initProcessEnginFromResource
INFO: initializing process engine for resource jar:file:/C:/Activiti%20engine/activiti-5.10/apps/apache-tomcat-6.0.
32/webapps/activiti-rest/WEB-INF/lib/activiti-cfg.jar!/activiti.cfg.xml
Jan 9, 2013 9:51:35 AM org.activiti.engine.impl.ProcessEngineImpl <init>
INFO: ProcessEngine default created
Jan 9, 2013 9:51:35 AM org.activiti.engine.ProcessEngines initProcessEnginFromResource
INFO: initialised process engine default
Jan 9, 2013 9:51:35 AM org.activiti.engine.impl.jobexecutor.JobAcquisitionThread run
INFO: JobAcquisitionThread starting to acquire jobs
Jan 9, 2013 9:51:35 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory docs
Jan 9, 2013 9:51:35 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory editor
Jan 9, 2013 9:51:35 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory examples
Jan 9, 2013 9:51:36 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory explorer
Jan 9, 2013 9:51:36 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory platform
Jan 9, 2013 9:51:36 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
Jan 9, 2013 9:51:36 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8081
Jan 9, 2013 9:51:36 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jan 9, 2013 9:51:36 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/35  config=null
Jan 9, 2013 9:51:36 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 10025 ms
Jan 9, 2013 9:51:42 AM org.activiti.explorer.cache.TrieBasedUserCache loadUsers
INFO: Caching users 0 to 25
Jan 9, 2013 9:51:47 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource org/activiti/examples/taskforms/VacationRequest.bpmn20.xml
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
INFO: XMLSchema currently not supported as typeLanguage
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
INFO: XPath currently not supported as expressionLanguage
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource org/activiti/examples/bpmn/event/timer/BoundaryTimerEventTest.testInterruptingTimerDurati
on.png
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource org/activiti/examples/bpmn/event/timer/BoundaryTimerEventTest.testInterruptingTimerDurati
on.bpmn20.xml
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
INFO: XMLSchema currently not supported as typeLanguage
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
INFO: XPath currently not supported as expressionLanguage
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource org/activiti/examples/bpmn/subprocess/SubProcessTest.fixSystemFailureProcess.png
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource org/activiti/examples/taskforms/VacationRequest.png
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource org/activiti/examples/bpmn/event/error/reviewSalesLead.bpmn20.xml
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
INFO: XMLSchema currently not supported as typeLanguage
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
INFO: XPath currently not supported as expressionLanguage
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource org/activiti/examples/bpmn/subprocess/SubProcessTest.fixSystemFailureProcess.bpmn20.xml
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
INFO: XMLSchema currently not supported as typeLanguage
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
INFO: XPath currently not supported as expressionLanguage
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource org/activiti/examples/bpmn/event/error/reviewSalesLead.reviewSaledLead.png
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource org/activiti/examples/adhoc/Expense_process.adhoc_Expense_process.png
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource org/activiti/examples/adhoc/Expense_process.bpmn20.xml
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
INFO: XMLSchema currently not supported as typeLanguage
Jan 9, 2013 9:51:48 AM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
INFO: XPath currently not supported as expressionLanguage
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_14_01.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_19.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_08.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_16.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_14.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_04.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_14_06.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_13.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_20.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource MyTestProcess.mytestprocess1.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_17.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_23.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_24.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_02.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_14_04.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_09.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_01.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_15.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_10.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_14_07.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_14_02.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_05.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_12.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_03.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_22.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_14_03.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_06.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_14_05.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_21.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_07.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_18.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource figure_B_11.png
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
INFO: Processing resource MyTestProcess.bpmn20.xml
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
INFO: XMLSchema currently not supported as typeLanguage
Jan 9, 2013 9:51:49 AM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
INFO: XPath currently not supported as expressionLanguage

My BPMN file:

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlnsSmiley Surprisedmgdc="http://www.omg.org/spec/DD/20100524/DC" xmlnsSmiley Surprisedmgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
  <process id="listenerprocess1" name="listenerprocess1">
    <startEvent id="startevent1" name="Start"></startEvent>
    <userTask id="mytask1" name="MyTask"></userTask>
    <sequenceFlow id="flow1" name="" sourceRef="startevent1" targetRef="mytask1"></sequenceFlow>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="flow2" name="" sourceRef="mytask1" targetRef="endevent1"></sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_listenerprocess1">
    <bpmndi:BPMNPlane bpmnElement="listenerprocess1" id="BPMNPlane_listenerprocess1">
      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
        <omgdc:Bounds height="35" width="35" x="230" y="310"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="mytask1" id="BPMNShape_mytask1">
        <omgdc:Bounds height="55" width="105" x="310" y="300"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
        <omgdc:Bounds height="35" width="35" x="470" y="310"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="265" y="327"></omgdi:waypoint>
        <omgdi:waypoint x="310" y="327"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="415" y="327"></omgdi:waypoint>
        <omgdi:waypoint x="470" y="327"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>