You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by harald <su...@rainyday.de> on 2015/04/24 12:25:45 UTC
Encrypted params for beans and camel routes within blueprint
Hello,
within SMX 4.5.3, with jasypt-encryption and camel-jasypt loaded, a I try to enable the usage of encrypted parameters for beans and camel routes within the same blueprint. If I copy the blueprint into the deploy folder it works. If I put the blueprint into a bundle and load it from the maven repository I see exceptions:
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to load class org.jasypt.encryption.pbe.StandardPBEStringEncryptor from recipe BeanRecipe[name='#recipe-84']
<stacktrace removed>
Caused by: java.lang.ClassNotFoundException: org.jasypt.encryption.pbe.StandardPBEStringEncryptor not found by encconfig [4418]
<stacktrace removed>
So I added
org.jasypt.encryption.pbe;version=1.9.1_2;
to Import-Package. Then I
Error executing command: Could not start bundle mvm:harad.test/encconfig/0.0.1-SNAPSHOT in feature(s) CONFIG-TEST-0.0.1: Uses constraint violation. Unable to resolve module encconfig [4421.0] because it is exposed to package 'org.jasypt.encryption.pbe.config' from modules org.apache.servicemix.bundles.jasypt [47.0] and org.apache.servicemix.bundles.jasypt [4420.0] via two dependency chains.
Chain 1:
encconfig [4421.0]
import: (package=org.jasypt.encryption.pbe.config)
|
export: package=org.jasypt.encryption.pbe.config
org.apache.servicemix.bundles.jasypt [47.0]
Chain 2:
encconfig [4421.0]
import: (&(package=org.jasypt.encryption.pbe)(version>=1.9.1.2))
|
export: package=org.jasypt.encryption.pbe; uses:=org.jasypt.encryption.pbe.config
export: package=org.jasypt.encryption.pbe.config
org.apache.servicemix.bundles.jasypt [4420.0]
The blueprint looks pretty mutch like [1], only thing is that the property “passwordEnvName” has to be “password” to make it work within the deploy-folder. But I tried both and neither password nor passwordEnvName works from within the bundle. The camel part like [2].
And I found [3] which is exactly what I try to do, but it does not work either, so I skip my blueprint here.
What am I missing??? Thanks for any comment.
Regards,
harald
[1] http://blog.nanthrax.net/2014/10/encrypt-configadmin-properties-values-in-apache-karaf/
[2] http://camel.apache.org/jasypt.html
[3] http://stackoverflow.com/questions/24825073/using-jasypt-outside-camel-context