[ 
https://issues.apache.org/jira/browse/ARTEMIS-4257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17730104#comment-17730104
 ] 

Gary Tully edited comment on ARTEMIS-4257 at 6/12/23 2:12 PM:
--------------------------------------------------------------

-it may be easier to invert the problem and provide a way to extend the 
isolation class loader, with a system property that is a list of file urls to 
append to the classpath.-

-in that way the burden of creating the classpath remains with artemis run, but 
it is extensible for use by an agent or for some third party jar.-

 

--Disolation.classloader.ext=/app/vol/agent.jar,/app/lib-

 

not a flyer, the root problem is the different classloader, to have an agent 
booted from the classpath see artemis, the isloation classloader needs to be 
disabled.


was (Author: gtully):
it may be easier to invert the problem and provide a way to extend the 
isolation class loader, with a system property that is a list of file urls to 
append to the classpath.

in that way the burden of creating the classpath remains with artemis run, but 
it is extensible for use by an agent or for some third party jar.

 

-Disolation.classloader.ext=/app/vol/agent.jar,/app/lib

> artemis run - allow isolation class loader to be extended
> ---------------------------------------------------------
>
>                 Key: ARTEMIS-4257
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4257
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>    Affects Versions: 2.28.0
>            Reporter: Gary Tully
>            Priority: Major
>
> When using artemis with a jvm agent that needs to interact with the broker, 
> the broker api classes need to be on the jvm classpath.
> At the moment, the Artemis run command always executes the broker main with 
> an isolating classloader that only peeks at the lib and lib/extra dirs. The 
> only entry on the classpath is the boot jar. This makes sense in a shared 
> environment, isolation is good.
>  
> In a container, where there is full control of the env, it makes sense to be 
> able to trust the classpath, and a single classloader allows any agent 
> dependencies to easily found/resolved.
>  
> The underlying use case is the jolokia jvm agent integrated with the artemis 
> jaas callback handler, such that the agent can properly integrate with broker 
> auth/authz
>  
> the ask is for a simple way to disable or extend the isolation classloader, 
> either a system property of command line option. The system property may be 
> the simplest.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to