<?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 ejb service task 'interface' in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8587#M2810</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;As discussed with Tom in the &lt;/SPAN&gt;&lt;A href="http://forums.activiti.org/en/viewtopic.php?f=6&amp;amp;t=731" rel="nofollow noopener noreferrer"&gt;userforum&lt;/A&gt;&lt;SPAN&gt;, we'll be implementing the ejb and jms service tasks. There are many ways the calls can take place. I'd like to propose some things here for the initial implementation of the ejb service task. A similar post will come for the jms service task&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;First of all there is the local or remote option. Initially I think focussing on local is good enough, but if someone disagrees, feel free to comment. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Secondly, there is the choice to just call an existing ejb with a predefined interface or to have it implement an activiti specific interface kind of like the java delegate. I prefere to initially focus on existing interfaces where context variables are passed on in the method call, but again, if someone disagrees…. So a method name is needed, a list of parameters (order is important)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thirdly there is the return value. Should it be taken into account? It probably needs to be if it is about existing interfaces where you cannot add variables to the execution (if possible at all).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But most importantly, is it a new service task or is it an addition to the java service task. Personally I'm in favour of the latter. The difference is not that big and it is probably even possible to use juel to resolve ejb's (high om my todo list, cdi?) and call the corresponding methods like in Seam. Using a 'type' like for the mail task is not what I'd do for ejb calls (I would for jms though) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So to summarize and propose element/attribute names&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- only local calls (attribute, activiti:jndi-name) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- define a method name (attribute, activiti:method)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- define parameters (extension element, activiti:arg, order is important, should be like the method signature and is comparable to the activiti:field)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- define return value (extension element, optional: activiti:return) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thoughts?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 09 Jan 2011 20:54:10 GMT</pubDate>
    <dc:creator>ronald_van_kuij</dc:creator>
    <dc:date>2011-01-09T20:54:10Z</dc:date>
    <item>
      <title>ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8587#M2810</link>
      <description>As discussed with Tom in the userforum, we'll be implementing the ejb and jms service tasks. There are many ways the calls can take place. I'd like to propose some things here for the initial implementation of the ejb service task. A similar post will come for the jms service taskFirst of all there</description>
      <pubDate>Sun, 09 Jan 2011 20:54:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8587#M2810</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-01-09T20:54:10Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8588#M2811</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;First of all there is the local or remote option. Initially I think focussing on local is good enough, but if someone disagrees, feel free to comment.&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;starting with local is OK. later you could add remote if there is demand for it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Secondly, there is the choice to just call an existing ejb with a predefined interface or to have it implement an activiti specific interface kind of like the java delegate. I prefere to initially focus on existing interfaces where context variables are passed on in the method call, but again, if someone disagrees…. So a method name is needed, a list of parameters (order is important)&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;it's important that you stick to the existing ejb interfaces.&amp;nbsp; users should not implement JavaDelegate.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Apart from method name and parameters, I think you also will need the local ejb name (JNDI name?) to look up the local home interface.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Thirdly there is the return value. Should it be taken into account? It probably needs to be if it is about existing interfaces where you cannot add variables to the execution (if possible at all).&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;It should be possible to pass in the execution as a parameter in a method invocation (just like any other parameter)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Apart from that, the return value should optionally be captured and stored in a variable.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In terms of passing the parameters, compare it with method expressions passing in parameters.&amp;nbsp; There's already a lot that you can do with that.&amp;nbsp; And it is already possible somehow to invoke an ejb through a method expression.&amp;nbsp; (maybe Joram can give pointers) Can you first evaluate when users should use method expressions with parameters and when they should be using the ejb activity?&amp;nbsp; Once that is cleared out, then it also gives you better guidance for which features to develop first.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;But most importantly, is it a new service task or is it an addition to the java service task. Personally I'm in favour of the latter … Using a 'type' like for the mail task is not what I'd do for ejb calls (I would for jms though)&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;Tijs, is there a preferred way from the designer point of view?&amp;nbsp; Maybe in context of the pluggability?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;… and it is probably even possible to use juel to resolve ejb's (high om my todo list, cdi?) and call the corresponding methods like in Seam.&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;first I explain that idea in detail and now you pretend that you had already thought about it before…&amp;nbsp; tsssss&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;So to summarize and propose element/attribute names&lt;BR /&gt;- only local calls (attribute, activiti:jndi-name) &lt;BR /&gt;- define a method name (attribute, activiti:method)&lt;BR /&gt;- define parameters (extension element, activiti:arg, order is important, should be like the method signature and is comparable to the activiti:field)&lt;BR /&gt;- define return value (extension element, optional: activiti:return) &lt;BR /&gt;Thoughts?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;looks perfect to get started, but first evaluate how and where this is different from method expressions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;it might also be early days for creating unit tests for this. i have high on my agenda to run the test suite in container on hudson (this release?). but i'm not there yet.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jan 2011 07:57:44 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8588#M2811</guid>
      <dc:creator>tombaeyens</dc:creator>
      <dc:date>2011-01-10T07:57:44Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8589#M2812</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Regarding the 'pointer' refers to. A few months ago, I tried to wrap an EJB in a Spring bean anc call it through a method expression. That just worked as a charm, but you needed Spring obviously.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jan 2011 10:25:52 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8589#M2812</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2011-01-10T10:25:52Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8590#M2813</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;it's important that you stick to the existing ejb interfaces.&amp;nbsp; users should not implement JavaDelegate.&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;Ok, good to get my view confirmed. I could not find a good reason to go this way.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;In terms of passing the parameters, compare it with method expressions passing in parameters.&amp;nbsp; There's already a lot that you can do with that.&amp;nbsp; And it is already possible somehow to invoke an ejb through a method expression.&amp;nbsp; (maybe Joram can give pointers) Can you first evaluate when users should use method expressions with parameters and when they should be using the ejb activity?&amp;nbsp; Once that is cleared out, then it also gives you better guidance for which features to develop first.&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;Personally I prefer the expression way. Most likely this can only be used if the ejb has a mapped name or something. Will try this out comming days&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;But most importantly, is it a new service task or is it an addition to the java service task. Personally I'm in favour of the latter … Using a 'type' like for the mail task is not what I'd do for ejb calls (I would for jms though)&lt;/BLOCKQUOTE&gt;Tijs, is there a preferred way from the designer point of view?&amp;nbsp; Maybe in context of the pluggability?&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;If expressions already work, I'd certainly try to use the same task and not create an ejb-service task&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;… and it is probably even possible to use juel to resolve ejb's (high om my todo list, cdi?) and call the corresponding methods like in Seam.&lt;/BLOCKQUOTE&gt;first I explain that idea in detail and now you pretend that you had already thought about it before…&amp;nbsp; tsssss&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;Sorry…. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;looks perfect to get started, but first evaluate how and where this is different from method expressions.&lt;BR /&gt;&lt;BR /&gt;it might also be early days for creating unit tests for this. i have high on my agenda to run the test suite in container on hudson (this release?). but i'm not there yet.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;I've used arquilian from JBoss for this recently somewhere. Works great… it supports more than ejb-unit, is a bit slower when the container needs to be started, but it's only 30 seconds&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jan 2011 10:40:12 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8590#M2813</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-01-10T10:40:12Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8591#M2814</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Regarding the 'pointer' refers to. A few months ago, I tried to wrap an EJB in a Spring bean anc call it through a method expression. That just worked as a charm, but you needed Spring obviously.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Ok, but that would require coding? Or can the spring bean be generic? Isn't a resolver for juel another option?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jan 2011 10:42:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8591#M2814</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-01-10T10:42:39Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8592#M2815</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Or can the spring bean be generic&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Good question, didnt try that yet. I'll give it a try tonight.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Isn't a resolver for juel another option?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;If you want method expression without a spring bean, probably yes.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jan 2011 11:57:26 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8592#M2815</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2011-01-10T11:57:26Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8593#M2816</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Or can the spring bean be generic&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;Good question, didnt try that yet. I'll give it a try tonight.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Ok&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Isn't a resolver for juel another option?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;If you want method expression without a spring bean, probably yes.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;I'll focus on this one then…&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jan 2011 12:31:51 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8593#M2816</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-01-10T12:31:51Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8594#M2817</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I would like to see the resolving of the EJB references pluggable, so JNDI is the default, but Service Registry could be maybe plugged in later.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't see a big difference between local and remote (except for the JNDI name and call by reference semantic), so I would target both. Actually I think remote is the bigger use case.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jan 2011 17:55:06 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8594#M2817</guid>
      <dc:creator>bernd_ruecker</dc:creator>
      <dc:date>2011-01-10T17:55:06Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8595#M2818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;For remote you also need to provide context information like url, usename, password. But no worries, it will be taken into account for 5.3 the rest could maybe make it in 5.2&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pluggability for resolving would be an option, but I don't think&amp;nbsp; not implementing it now makes it more difficult later&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jan 2011 21:41:07 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8595#M2818</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-01-10T21:41:07Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8596#M2819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;sorry that should both be a minor version more… jira freeze was aleady passed for 5.2&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jan 2011 00:29:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8596#M2819</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-01-11T00:29:47Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8597#M2820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here's a pointer that I want to share: In order to map the ejb-logical names to the expressions name resolution, you should probably update this section in ExpressionManager&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt; protected ELResolver createElResolver(VariableScope variableScope) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CompositeELResolver elResolver = new CompositeELResolver();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; elResolver.add(new VariableScopeElResolver(variableScope));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; elResolver.add(new ArrayELResolver());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; elResolver.add(new ListELResolver());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; elResolver.add(new MapELResolver());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; elResolver.add(new DynamicBeanPropertyELResolver(ItemInstance.class, "getFieldValue", "setFieldValue")); //TODO: needs verification&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; elResolver.add(new BeanELResolver());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return elResolver;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;/CODE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At this point, this list of ELResolvers is not yet configurable (but the expression manager is).&amp;nbsp; I can help do that if necessary.&amp;nbsp; But first go ahead and play with it so that we know exact what kind of configurability we need.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jan 2011 11:32:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8597#M2820</guid>
      <dc:creator>tombaeyens</dc:creator>
      <dc:date>2011-01-11T11:32:56Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8598#M2821</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yep, already found that. Initial version already working… testing is more difficult than creating the code. Have added the EJBResolver at the end.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jan 2011 16:11:38 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8598#M2821</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-01-11T16:11:38Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8599#M2822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok, the real integration is more difficult than I thought compared to the code needed to resolve and call an ejb. The juel stuff is focussed on valueExpressions whereas in this case the method expression is a better fit. But how and when juel decides this is still not clear to me. So this might still take a few days to crystalize, but it will work…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ronald&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jan 2011 23:17:16 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8599#M2822</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-01-11T23:17:16Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8600#M2823</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ronald, what's the isssue? Frederik is a Juel-expert by now, so he will be able to help you further if needed.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jan 2011 08:05:29 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8600#M2823</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2011-01-12T08:05:29Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8601#M2824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sorry, already found it…. was VERY easy (once you know it). The getValue() in a new resolver is also used to resolve bean/variable/map/… and thus the ejb to. I missed that part (still had the jBPM way in mind).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So it works. with only&lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp; private final boolean isResolvable(Object base, Object property) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return base == null &amp;amp;&amp;amp; property != null &amp;amp;&amp;amp; property instanceof String;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; @Override&lt;BR /&gt;&amp;nbsp; public Object getValue(ELContext context, Object base, Object property) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object o = null;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isResolvable(base, property)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Properties currently read from jndi.properties&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o = InitialContext.doLookup((String) property + "/remote");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (NamingException e) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO logging…&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&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; return o;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;BR /&gt;&amp;nbsp; }&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;for the resolving. The execution itself is done by the BeanELResolver…. since that is about invoking methods etc… &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Some tuning needed for the 'remote' part in names or custom names, but that will be no problem. Beans with complex jndi names will probably be difficult, but there is where the 'full' configuration comes in.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jan 2011 12:31:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8601#M2824</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-01-12T12:31:00Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8602#M2825</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok, calling ejbs from an expression works. Currently with the following limitations:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- ejb name should be one that can be used as a 'property', so no /,._ etc&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- first tries &amp;lt;name&amp;gt;, then &amp;lt;name&amp;gt;/local&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- No access to beans that require authentication&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For remote beans some way to provide the initial context should be used&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;and maybe a way to provide authentication, or accept these limitations and only use this for local beans.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Still, a way to provide a more complex name for local beans would be nice.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jan 2011 15:07:16 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8602#M2825</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-01-12T15:07:16Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8603#M2826</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ronald, I found my Spring/EJB example, and made a blogpost of it:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://www.jorambarrez.be/blog/2011/01/13/tutorial-call-an-ejb-in-a-bpmn-2-0-process-using-activiti-and-spring/" rel="nofollow noopener noreferrer"&gt;http://www.jorambarrez.be/blog/2011/01/13/tutorial-call-an-ejb-in-a-bpmn-2-0-process-using-activiti-and-spring/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Probably the approach can be made generically, by looking into the classes that wrap the actual EJB.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jan 2011 17:49:48 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8603#M2826</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2011-01-13T17:49:48Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8604#M2827</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yep, read it, commented and send you something (also attached to &lt;/SPAN&gt;&lt;A href="http://jira.codehaus.org/browse/ACT-537" rel="nofollow noopener noreferrer"&gt;http://jira.codehaus.org/browse/ACT-537&lt;/A&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jan 2011 19:44:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8604#M2827</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-01-13T19:44:54Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8605#M2828</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ronald, I assume that the EJBResolver had dependencies on some libraries.&amp;nbsp; Right?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If so, did you make the EJB resolver optionally configurable?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Jan 2011 14:37:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8605#M2828</guid>
      <dc:creator>tombaeyens</dc:creator>
      <dc:date>2011-01-17T14:37:03Z</dc:date>
    </item>
    <item>
      <title>Re: ejb service task 'interface'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8606#M2829</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;No, no dependencies…. All it does is a simple jndi lookup, returns an Object and the BeanResolver can execute methods on the bean. That was really all that was needed for the simple version.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The only thing still needed is to swallow the jndi lookup exception if nothing is configured since the EJBElResolver will always go of if nothing matches. We might try to do something creativly here if the instantiation of the InitialContext fails and we can detect that we do not have&amp;nbsp; context at all.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Jan 2011 19:45:28 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/ejb-service-task-interface/m-p/8606#M2829</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-01-18T19:45:28Z</dc:date>
    </item>
  </channel>
</rss>

