Closed Weinschenk closed 9 years ago
Hey Thomas,
I have no experince with Camel but at least I can say the OSGi part looks fine ;)
Cheers, Ronny
Hey Ronny,
I am pleased to hear that ;o) Do you think it is possible to use the BlueprintELResolver instead of the CamelBlueprintELResolver? I tried it but didn't find a way so solve it...
From a Camel perspective the code uses 95% of the camunda-bpm-camel-common. Only the CamelServiceImpl bean definition gets obsolete. The created DefaultCamelContext is enough to call Camel via vm and direct-vm. Direct will not work as it can only be called within the same context (like a private method in Java). JMS/ActiveMQ will also not work out of the box as the broker definition is not provided. From my point of view this is not really a problem as a (direct-)vm route can be used to send the message to a JMS/ActiveMQ queue.
Regards, Thomas
Hi Thomas,
I guess they way it's implemented you cannot use the BlueprintELResolver directly because it doesn't implement the invoke() method. Maybe the OSGiELResolver would help. After a second look I was just wondering if the invoke() method works the way it's implemented. Couldn't "base" be a dynamic proxy? Then
if (base != null && base.getClass() == CamelServiceImpl.class) {
would always return false.
The Camel part should be reviewed by Bernd.
Cheers, Ronny
Hi Ronny,
No glue about the OSGiELResolver
…will it work in a blueprint file as well?
Do you have an example blueprint in combination with the OSGiELResolver
?
In the end the resolver must point to CamelServiceImpl
which in this case implements JavaDelegate
, right?
Regarding your doubts about the invoke method. It perfectly works in my test environment (7.1.0-Final, Karaf 2.3.3, Camel 2.12.2). It is called with the actual instance of the CamelServiceImpl
that was created by the getValue
method. This makes sense as the CompositeELResolver
retrieves the resolver and the AstMethod
is invoking it with the found instance. Why should there be a dynamic proxy involved?
Regards, Thomas
Hey guys.
Actually I am not an expert if it comes to OSGI - was there some result in your onging discussion about the current solution?
The OSGI part and a quick how-to-use should also be added to https://github.com/camunda/camunda-bpm-camel/blob/master/README.md.
If both issues are resolved I could merge that pull request.
By the way: It would be cool to make bigger commits out of the small one before sending the pull request, see e.g. http://de.gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html. Maybe you could create a new one?
Hey Bernd,
I added a comment to the readme. Is this sufficient?
I have problems adding Unit tests because the environment is quite complex (Karaf with Camel and a camunda bpm started via context.xml). Pax exam should do the trick but I have no experience with that.
Regarding the size of the pull request... egit is acutally not working on my machine due to ssl conflicts. So I was forced to use the web ui to upload the files. Well and somehow I managed it to upload all the files to camunda-bpm-camel root instead of camunda-bpm-camel-blueprint. I deleted the files and uploaded them again to the right place. The result is 34 commits for 13 files…what a shame ;o)
Best regards | Mit freundlichen Grüßen
Thomas Weinschenk
Expert Business Integration | IS-ASB Endress+Hauser InfoServe GmbH+Co. KG | Heinrich-von-Stephan-Strasse 8 | 79100 Freiburg im Breisgau | Germany Phone: +49 761 7059 153 | Mobile: +49 160 9696 3738 | Fax: +49 761 7059 5 222 thomas.weinschenk@infoserve.endress.com | www.infoserve.endress.com
Endress+Hauser InfoServe GmbH+Co. KG Sitz der Gesellschaft: Weil am Rhein Eingetragen: Amtsgericht Freiburg i. Br. HRA 411272 Persönlich haftender Gesellschafter: Endress+Hauser InfoServe Verwaltungs-GmbH, Weil am Rhein Eingetragen: Amtsgericht Freiburg i.Br. HRB 412621 Geschäftsführer: Pieter de Koning, Werner Hofmann
Disclaimer:
The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you receive this in error, please contact the sender and delete the material from any computer.
http://www.infoserve.endress.com/
From: Bernd Rücker notifications@github.com To: camunda/camunda-bpm-camel camunda-bpm-camel@noreply.github.com, Cc: Thomas Weinschenk thomas.weinschenk@infoserve.endress.com Date: 30.05.2014 13:36 Subject: Re: [camunda-bpm-camel] camunda - camel integration based on OSGi Blueprint (#16)
Hey guys.
Actually I am not an expert if it comes to OSGI - was there some result in your onging discussion about the current solution?
The OSGI part and a quick how-to-use should also be added to https://github.com/camunda/camunda-bpm-camel/blob/master/README.md.
If both issues are resolved I could merge that pull request.
By the way: It would be cool to make bigger commits out of the small one before sending the pull request, see e.g. http://de.gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html . Maybe you could create a new one?
— Reply to this email directly or view it on GitHub.
Hi Thomas, I am sorry that it took me so long to answer. Regarding the OSGiELResolver: Yes, it works with Blueprint, too. You could just export the CamelService with the LDAP property
processExpression=camel
as described here: https://github.com/camunda/camunda-bpm-platform-osgi#step-1 Then the OSGiELResolver should be able to find it.
And regarding the dynamic proxy you're right. I was missing the part that you create the instance in the getValue method.
Hi Thomas, I am really sorry that I totally forgot about this pull request. Since Bernd didn't complain I'll finally merge it. I am sorry for letting you wait.
Hi there,
The current camunda-bpm-camel just supports spring and cdi so I added a blueprint implementation using OSGi toolings. I am new to camunda BPM so I hope my coding isn’t too crappy ;o) .
Regards, Thomas
@berndruecker Do you remember me? You visited us last year in Freiburg...