You are right. I looked into the wrong properties in the debugger ;-) The relevant code fragment is:
https://github.com/apache/tomee/blob/main/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/util/ServiceInfos.java#L176 It seems, that we didn't implement an escape mechanismn, so it tries to resolve a service for $ in any case resulting in the NULL value. Am Dienstag, dem 12.09.2023 um 08:44 +0200 schrieb Thomas Butz: > That didn't work. > > ----- Ursprüngliche Mail ----- > Von: "Richard Zowalla" <r...@apache.org> > An: "users" <users@tomee.apache.org> > Gesendet: Freitag, 8. September 2023 20:34:38 > Betreff: Re: Unable to use Resouce value with $ > > Hi, > > $ is used as an identifier, i.e. for injecting properties. > > You can use > > <Resource id="config" class-name="com.exmaple.MyResource"> > SkipPropertiesFallback = true > test = $abc > </Resource> > > The `SkipPropertiesFallback` will prevent the resolution of $-values. > The related code is here: [1] > > Hope it helps. > Richard > > [1] > https://github.com/apache/tomee/blob/main/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java#L3083 > > > Am Freitag, dem 08.09.2023 um 15:44 +0200 schrieb Thomas Butz: > > I'm trying to implement a custom resources class by implementing > > setProperties(Properties) as outlined in the documentation: > > > > https://tomee.apache.org/application-resources.html > > > > The resource is defined tomee.xml: > > > > <Resource id="myresource" class-name="com.exmaple.MyResource"> > > myproperty=$omething > > </Resource> > > > > But as soon as the value starts with a dollar sign, its value is > > interpreted as null while passed into setProperties(). > > My current theory is that property substitution is interfering > > here, > > but I have no clue how to avoid it. > > > > My failed attempts include: > > > > myproperty=\$omething > > myproperty=$$omething > > myproperty=\u0024omething > > myproperty=$domething > > myproperty=${xxx:-$omething}