Hello Arthur,
I have added the servicemix version of jasypt
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.jasypt</artifactId>
<version>1.9.2_1</version>
<scope>provided</scope>
</dependency>
and excluded the original jasypt from camel-jasypt dep, so any bundle is using
the above OSGI version.
I defined this in the parent pom with "provided" scope for all modules.
So I assume that all bundles have the servicemix jasypt in their classpath.
I should expect the package "org.jasypt.encryption " in the import section of
the Meta-Inf and in service-import section
"org.jasypt.encryption.StringEncryptor"?
BR
Karsten
Von: Arthur Naseef <[email protected]>
Gesendet: Montag, 4. April 2022 18:58
An: [email protected]
Betreff: Re: Exporting an instance of a 3rd party library as service
The following error message says the importing bundle (order) does not have
access to the class "org.jasypt.encryption.StringEncryptor".
Unable to start blueprint container for bundle order/22.14.0.98-SNAPSHOT due to
unresolved dependencies [(objectClass=org.jasypt.encryption.StringEncryptor)]
In order to use a "reference" with an interface class, the bundle needs to have
that interface class on its own classpath. Is the module with that class in
the list of dependencies for the bundle (the one using "reference)?
Art
On Mon, Apr 4, 2022 at 3:00 AM Karsten Blume
<[email protected]<mailto:[email protected]>> wrote:
Hello Jean-Baptiste, Geoffrey
Here are some more details:
runtime err msg
Unable to start blueprint container for bundle order/22.14.0.98-SNAPSHOT due to
unresolved dependencies [(objectClass=org.jasypt.encryption.StringEncryptor)]
java.util.concurrent.TimeoutException: null
...
this standard exception stacktrace, when a service was not found
I use the maven bundle plugin without import instruction, so it uses * as
default.
The Meta-Inf shows the service/interface listed in the export- and
import-service sections properly. In karaf cmd line with bundle:requirements
and bundle:capabilites both could be seen.
@Geoffry
exactly this I want to achieve, yes.
Base bundle:
...
<bean id="stringEncryptorBean"
class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config" ref="encryptorConfig" />
</bean>
<service id="StringEncryptor" ref="stringEncryptorBean"
interface="org.jasypt.encryption.StringEncryptor" />
Importing Bundle:
<cm:property-placeholder id="my.xml.placeholder" persistent-id="my.xml.pid"
/>
<enc:property-placeholder encryptor-ref="StringEncryptor" />
One thing I need to add: Running on Windows 10 the pax-jdbc v0.9 is able to
find the service, on WSL2 Ubuntu, Docker jre8-alpine or Mac the service is not
found.
Question: In general, a base bundle should be able to instantiate a class of
another library and offer this as a service?
Does this base bundle should export the packages of this other library? Ie. for
Jasypt lib org.jasypt.encryption and sub-packages?
Regards
Karsten
----Ursprüngliche Nachricht-----
Von: Geoffrey Seanor
<[email protected]<mailto:[email protected]>>
Gesendet: Montag, 4. April 2022 10:23
An: [email protected]<mailto:[email protected]>
Betreff: RE: Exporting an instance of a 3rd party library as service
Hi Karsten,
Have you tried exporting interface org.jasypt.encryption.StringEncryptor?
I export this interface using a dedicated blueprint bundle and pass it the
decryption password from the environment. This service is then used by
pax-jdbc, and also referenced by other blueprint bundles which need to import
the jasypt namespace and use a property-placeholder to resolve the encrypted
entries.
Kind regards,
Geoff
-----Original Message-----
From: Jean-Baptiste Onofré <[email protected]<mailto:[email protected]>>
Sent: 04 April 2022 08:49
To: [email protected]<mailto:[email protected]>
Subject: Re: Exporting an instance of a 3rd party library as service
*** External email: Please be cautious when opening attachments or clicking
links. ***
Hi,
What do you mean by "not finding the service" ?
You mean at runtime (looking for service reference) or at deployment time (the
maven-bundle-plugin is generated req/cap for service, so it might be your
issue) ?
If you can share the message you have, it would be helpful.
Regards
JB
On Mon, Apr 4, 2022 at 9:06 AM Karsten Blume
<[email protected]<mailto:[email protected]>> wrote:
>
> Hello everybody,
>
> i come up with a issue, which might be easily answered in the OSGI world,
> though I have not yet found a solution in the WWW.
>
>
>
> Running
>
> Karaf 3.0.7, Java8, Blueprint
>
>
>
> Objective
>
> Any bundle (own or e.g. pax-jdbc-config) should be able to use the same
> configured StringEncryptor.
>
>
>
> How
>
> I configure and create an instance of
> org.jasypt.encryption.pbe.StandardPBEStringEncryptor and export this
> instance as a service of interface org.jasypt.encryption.StringEncryption. in
> one of my base bundles.
>
> All other bundles reference the interface to get the service.
>
>
>
> Problem
>
> If I export the original interface as service the others are not finding
> this service (having modified the Maven bundle plugin properly).
>
> Do I need to wrap the StringEncryptor in a delegate pattern, so I export my
> own interface?
>
>
>
> Any help is appreciated,
>
> Thx Karsten
>
>
This email including any attachments is confidential and may be subject to
legal privilege. Unless otherwise indicated, you may not disclose or distribute
this email to any other person. If you are not the intended recipient of this
email, please delete it and notify the sender immediately.
MUFG Bank, Ltd. ("MUFG Bank"), MUFG Securities EMEA plc ("MUS(EMEA)") and
Mitsubishi UFJ Financial Group, Inc. ("MUFG Inc.") are members of the MUFG
group.
- MUFG Bank is a limited liability stock company incorporated in Japan
and registered in the Tokyo Legal Affairs Bureau (company no. 0100-01-008846).
MUFG Bank's head office is at 7-1 Marunouchi 2-Chome, Chiyoda-Ku, Tokyo
100-8388, Japan. MUFG Bank's London branch is at Ropemaker Place, 25 Ropemaker
Street, London EC2Y 9AN, and is registered as a UK establishment in the UK
register of companies (registered no. BR002013). MUFG Bank is authorised and
regulated by the Japanese Financial Services Agency. MUFG Bank's London branch
is authorised by the UK Prudential Regulation Authority ("PRA") and regulated
by the UK Financial Conduct Authority ("FCA") with limited regulation by the
PRA.
- MUS(EMEA) is a limited liability company registered in England (company
no. 1698498) with its registered office at Ropemaker Place, 25 Ropemaker
Street, London, EC2Y 9AJ. MUS (EMEA) is authorised by the PRA and regulated by
the FCA and PRA in the UK.
- MUFG Inc. is a limited liability stock company incorporated in Japan
and registered in the Tokyo Legal Affairs Bureau (company no. 0100-01-073486).
MUFG Inc.'s head office is at 7-1 Marunouchi 2-Chome, Chiyoda-Ku, Tokyo
100-8388, Japan. MUFG Inc.'s London office is at Ropemaker Place, 25 Ropemaker
Street, London EC2Y 9AN, and is registered as a UK establishment in the UK
register of companies (registered no. BR015994).
Details on how MUFG Bank, London branch and MUS (EMEA) process personal data
relating to individuals associated with our clients are on the MUFG EMEA
website at:
https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.mufgemea.com%2Fgovernance%2Fprivacy-notice%2F&data=04%7C01%7Ckarsten.blume%40ottoint.com%7C103014e6d67b4afd2fec08da16145be9%7Cf73d6f0048944b4eba0071d6df45717d%7C0%7C0%7C637846574618502187%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=3O%2FjTiFA3LYTurMINaC9jjsRPFbi%2B4nTiNyJz0pP9FU%3D&reserved=0<https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.mufgemea.com%2Fgovernance%2Fprivacy-notice%2F&data=04%7C01%7Ckarsten.blume%40ottoint.com%7C7e2ae283507f49c3d62708da165c4a8d%7Cf73d6f0048944b4eba0071d6df45717d%7C0%7C0%7C637846882928445632%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=JmfI6wFbhnI95b4mmQpoYmBJzbOzGujq%2FI28cYDW4qI%3D&reserved=0>
Unless specifically indicated, this email should not be regarded as an offer,
advice, recommendation, confirmation or valuation in relation to any financial
products or services and any views expressed are those of the author only. If
information in this email constitutes an investment recommendation provided by
MUS(EMEA) as defined in EU (MAR) Regulation 596/2014, additional disclosures
are available at
https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fresearch.musi.com%2FMUFGSecDisclaimers.aspx&data=04%7C01%7Ckarsten.blume%40ottoint.com%7C103014e6d67b4afd2fec08da16145be9%7Cf73d6f0048944b4eba0071d6df45717d%7C0%7C0%7C637846574618502187%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=VLjaWz7tc%2Fjj3fRd1B6topS0GaY0iseZmoNeNn%2FPK6k%3D&reserved=0<https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fresearch.musi.com%2FMUFGSecDisclaimers.aspx&data=04%7C01%7Ckarsten.blume%40ottoint.com%7C7e2ae283507f49c3d62708da165c4a8d%7Cf73d6f0048944b4eba0071d6df45717d%7C0%7C0%7C637846882928445632%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=JxmzBUVdgpridTpu7o3H9EDEGrQ3CpDtuwL%2BUoBveys%3D&reserved=0>.
Information in this email may be subject to change without notice. Emails
cannot be guaranteed to be timely, secure or error or virus-free, and members
of the MUFG group accept no liability for such matters. Members of the MUFG
group may record and monitor emails and disclose them where relevant in
litigation or to regulators.
This message has been scanned for malware by Websense.
https://apc01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.websense.com%2F&data=04%7C01%7Ckarsten.blume%40ottoint.com%7C103014e6d67b4afd2fec08da16145be9%7Cf73d6f0048944b4eba0071d6df45717d%7C0%7C0%7C637846574618502187%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=qy4gw7BcHcQX5iPjbrEb9N%2BoRFEdsWRUpks8MMSGON4%3D&reserved=0<https://apc01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.websense.com%2F&data=04%7C01%7Ckarsten.blume%40ottoint.com%7C7e2ae283507f49c3d62708da165c4a8d%7Cf73d6f0048944b4eba0071d6df45717d%7C0%7C0%7C637846882928445632%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=aznkdLmrWSNSeDtyHfcSezP7x84AGtColHRuvNwzDOE%3D&reserved=0>