<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: how to call TaskListener in osgi in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/how-to-call-tasklistener-in-osgi/m-p/176140#M129270</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am trying to do the same thing - use TaskListeners in an OSGI environment.&amp;nbsp; I cannot get them to work.&amp;nbsp; I believe I have found the problem in the Activiti code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The &lt;/SPAN&gt;&lt;A href="http://svn.codehaus.org/activiti/activiti/trunk/modules/activiti-osgi/src/main/java/org/activiti/osgi/blueprint/BlueprintELResolver.java" rel="nofollow noopener noreferrer"&gt;BlueprintELResolver class&lt;/A&gt;&lt;SPAN&gt; has a bind and unbind method that accepts a JavaDelegate.&amp;nbsp; Therefore when I define a service in my blueprint file that implements the JavaDelegate interface, I can see that the bind method is called, and my JavaDelegate class works.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I define a service in my blueprint file that implements TaskListener or ExecutionListener interfaces, they are not found because there is no bind method to call that accepts them.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think the BlueprintELResolver class could be updated to include bind methods for all the different interfaces, and then TaskListeners and ExecutionListeners would work in OSGI.&amp;nbsp; Can someone open a JIRA ticket for this?&amp;nbsp; I could not log in to the Activiti JIRA.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 Jan 2015 19:35:54 GMT</pubDate>
    <dc:creator>pelorousjack</dc:creator>
    <dc:date>2015-01-22T19:35:54Z</dc:date>
    <item>
      <title>how to call TaskListener in osgi</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-call-tasklistener-in-osgi/m-p/176139#M129269</link>
      <description>I run activiti in OSGI environment using blueprint file,I also want to use TaskListener. But I can not find a way to call TaskListener,because my TaskListener class can not be found by Activiti engine. How can help me to solve this problem.thanks.</description>
      <pubDate>Sun, 14 Sep 2014 08:37:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-call-tasklistener-in-osgi/m-p/176139#M129269</guid>
      <dc:creator>minikiller</dc:creator>
      <dc:date>2014-09-14T08:37:27Z</dc:date>
    </item>
    <item>
      <title>Re: how to call TaskListener in osgi</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-call-tasklistener-in-osgi/m-p/176140#M129270</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am trying to do the same thing - use TaskListeners in an OSGI environment.&amp;nbsp; I cannot get them to work.&amp;nbsp; I believe I have found the problem in the Activiti code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The &lt;/SPAN&gt;&lt;A href="http://svn.codehaus.org/activiti/activiti/trunk/modules/activiti-osgi/src/main/java/org/activiti/osgi/blueprint/BlueprintELResolver.java" rel="nofollow noopener noreferrer"&gt;BlueprintELResolver class&lt;/A&gt;&lt;SPAN&gt; has a bind and unbind method that accepts a JavaDelegate.&amp;nbsp; Therefore when I define a service in my blueprint file that implements the JavaDelegate interface, I can see that the bind method is called, and my JavaDelegate class works.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I define a service in my blueprint file that implements TaskListener or ExecutionListener interfaces, they are not found because there is no bind method to call that accepts them.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think the BlueprintELResolver class could be updated to include bind methods for all the different interfaces, and then TaskListeners and ExecutionListeners would work in OSGI.&amp;nbsp; Can someone open a JIRA ticket for this?&amp;nbsp; I could not log in to the Activiti JIRA.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Jan 2015 19:35:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-call-tasklistener-in-osgi/m-p/176140#M129270</guid>
      <dc:creator>pelorousjack</dc:creator>
      <dc:date>2015-01-22T19:35:54Z</dc:date>
    </item>
    <item>
      <title>Re: how to call TaskListener in osgi</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-call-tasklistener-in-osgi/m-p/176141#M129271</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;My osgi is really limited … but would this recent pull req solve your problem: &lt;/SPAN&gt;&lt;A href="https://github.com/alien11689/Activiti/commit/a5a80265c169aa5eb40f2edd99914cb9fabebbc4" rel="nofollow noopener noreferrer"&gt;https://github.com/alien11689/Activiti/commit/a5a80265c169aa5eb40f2edd99914cb9fabebbc4&lt;/A&gt;&lt;SPAN&gt; ?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Feb 2015 10:45:55 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-call-tasklistener-in-osgi/m-p/176141#M129271</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2015-02-09T10:45:55Z</dc:date>
    </item>
    <item>
      <title>Re: how to call TaskListener in osgi</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-call-tasklistener-in-osgi/m-p/176142#M129272</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Does this solve the problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;package org.activiti.osgi.blueprint;&lt;BR /&gt;&lt;BR /&gt;import java.beans.FeatureDescriptor;&lt;BR /&gt;import java.util.HashMap;&lt;BR /&gt;import java.util.Iterator;&lt;BR /&gt;import java.util.Map;&lt;BR /&gt;&lt;BR /&gt;import org.activiti.engine.delegate.JavaDelegate;&lt;BR /&gt;import org.activiti.engine.delegate.TaskListener;&lt;BR /&gt;import org.activiti.engine.impl.javax.el.ELContext;&lt;BR /&gt;import org.activiti.engine.impl.javax.el.ELResolver;&lt;BR /&gt;import org.activiti.engine.impl.pvm.delegate.ActivityBehavior;&lt;BR /&gt;import org.slf4j.Logger;&lt;BR /&gt;import org.slf4j.LoggerFactory;&lt;BR /&gt;&lt;BR /&gt;/**&lt;BR /&gt; * @see org.activiti.spring.ApplicationContextElResolver&lt;BR /&gt; */&lt;BR /&gt;public class BlueprintELResolver extends ELResolver {&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp; private static final Logger LOGGER = LoggerFactory.getLogger(BlueprintELResolver.class);&lt;BR /&gt; private Map&amp;lt;String, JavaDelegate&amp;gt; delegateMap = new HashMap&amp;lt;String, JavaDelegate&amp;gt;();&lt;BR /&gt; private Map&amp;lt;String, TaskListener&amp;gt; taskListenerMap = new HashMap&amp;lt;String, TaskListener&amp;gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Map&amp;lt;String, ActivityBehavior&amp;gt; activityBehaviourMap = new HashMap&amp;lt;String, ActivityBehavior&amp;gt;();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Object getValue(ELContext context, Object base, Object property) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (base == null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // according to javadoc, can only be a String&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String key = (String) property;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (String name : delegateMap.keySet()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (name.equalsIgnoreCase(key)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.setPropertyResolved(true);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return delegateMap.get(name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (String name : taskListenerMap.keySet()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (name.equalsIgnoreCase(key)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.setPropertyResolved(true);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return taskListenerMap.get(name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (String name : activityBehaviourMap.keySet()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (name.equalsIgnoreCase(key)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.setPropertyResolved(true);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return activityBehaviourMap.get(name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; return null;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; @SuppressWarnings("rawtypes")&lt;BR /&gt; public void bindService(JavaDelegate delegate, Map props) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String name = (String) props.get("osgi.service.blueprint.compname");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; delegateMap.put(name, delegate);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOGGER.info("added Activiti service to delegate cache {}", name);&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; @SuppressWarnings("rawtypes")&lt;BR /&gt; public void unbindService(JavaDelegate delegate, Map props) {&lt;BR /&gt;&amp;nbsp; String name = (String) props.get("osgi.service.blueprint.compname");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(delegateMap.containsKey(name)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delegateMap.remove(name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOGGER.info("removed Activiti service from delegate cache {}", name);&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt; @SuppressWarnings("rawtypes")&lt;BR /&gt; public void bindTaskListenerService(TaskListener delegate, Map props) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String name = (String) props.get("osgi.service.blueprint.compname");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskListenerMap.put(name, delegate);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOGGER.info("added Activiti service to delegate cache {}", name);&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; @SuppressWarnings("rawtypes")&lt;BR /&gt; public void unbindTaskListenerService(TaskListener delegate, Map props) {&lt;BR /&gt;&amp;nbsp; String name = (String) props.get("osgi.service.blueprint.compname");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(taskListenerMap.containsKey(name)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskListenerMap.remove(name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOGGER.info("removed Activiti service from delegate cache {}", name);&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @SuppressWarnings("rawtypes")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void bindActivityBehaviourService(ActivityBehavior delegate, Map props) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String name = (String) props.get("osgi.service.blueprint.compname");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activityBehaviourMap.put(name, delegate);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOGGER.info("added Activiti service to activity behaviour cache {}", name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @SuppressWarnings("rawtypes")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void unbindActivityBehaviourService(ActivityBehavior delegate, Map props) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String name = (String) props.get("osgi.service.blueprint.compname");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(activityBehaviourMap.containsKey(name)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activityBehaviourMap.remove(name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOGGER.info("removed Activiti service from activity behaviour cache {}", name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt; public boolean isReadOnly(ELContext context, Object base, Object property) {&lt;BR /&gt;&amp;nbsp; return true;&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; public void setValue(ELContext context, Object base, Object property,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object value) {&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; public Class&amp;lt;?&amp;gt; getCommonPropertyType(ELContext context, Object arg) {&lt;BR /&gt;&amp;nbsp; return Object.class;&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; public Iterator&amp;lt;FeatureDescriptor&amp;gt; getFeatureDescriptors(ELContext context,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object arg) {&lt;BR /&gt;&amp;nbsp; return null;&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; public Class&amp;lt;?&amp;gt; getType(ELContext context, Object arg1, Object arg2) {&lt;BR /&gt;&amp;nbsp; return Object.class;&lt;BR /&gt; }&lt;BR /&gt;}&lt;BR /&gt;&lt;/CODE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jul 2015 06:51:30 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-call-tasklistener-in-osgi/m-p/176142#M129272</guid>
      <dc:creator>mikuc</dc:creator>
      <dc:date>2015-07-06T06:51:30Z</dc:date>
    </item>
  </channel>
</rss>

