<div dir="ltr">This approach seems to work. But injecting/attaching the LTW Agent dynamically requires the com.sun.tools.attach.VirtualMachine (part of the attach API) which is only found in tools.jar.<div><br></div><div>By default Wildfly starts up using the JRE lib in the JAVA_HOME path. What property can I use to add the tools.jar in the startup? I don't want to add tools.jar as a module since it is JVM specific. Is there a parameter I can add to standalone.conf file to include the tools.jar in the classpath and made available to my application? Or is my only option to create a module for it?</div><div><br></div><div>Thanks,</div><div><br>Eric</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 18, 2017 at 3:57 PM, Eric B <span dir="ltr"><<a href="mailto:ebenzacar@gmail.com" target="_blank">ebenzacar@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Wed, Oct 18, 2017 at 3:37 PM, Stuart Douglas <span dir="ltr"><<a href="mailto:stuart.w.douglas@gmail.com" target="_blank">stuart.w.douglas@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="m_-2354582405362023857gmail-"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>2) The EJB required is of a singleton pattern. How would that work in a clustered environment? A @Singleton @Startup EJB would only be spawned in a single JVM - other nodes in the cluster won't trigger the @PostConstruct method of it and consquently not load the weaver.</div></div></blockquote><div><br></div></span><div>Just don't make it clustered, you want one per JVM not one per cluster.</div></div></div></div></blockquote><div><br></div></span><div>Am I missing something in my understanding of JEE specs? I thought the entire principle of the @Singleton was to ensure only a single EJB in the entire cluster. Hence the Singleton subsystem? As per the docs (<a href="https://docs.jboss.org/author/display/WFLY10/HA+Singleton+Features" target="_blank">https://docs.jboss.org/<wbr>author/display/WFLY10/HA+<wbr>Singleton+Features</a>):</div><div><br></div></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote"><div><span style="color:rgb(51,51,51);font-family:Arial,Helvetica,FreeSans,sans-serif;font-size:13.3333px">In general, an HA or clustered singleton is a service that exists on multiple nodes in a cluster, but is active on just a single node at any given time. If the node providing the service fails or is shut down, a new singleton provider is chosen and started.</span></div></div></div></blockquote><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>Is it as simple as setting in the deployment descriptor not to cluster the @Singleton? ie: in a jboss-ejb3.xml:</div><div><br></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote"><div><div><?xml version="1.1" encoding="UTF-8"?></div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div><jboss:ejb-jar xmlns:jboss="<a href="http://www.jboss.com/xml/ns/javaee" target="_blank">http://www.jboss.<wbr>com/xml/ns/javaee</a>"</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div> xmlns="<a href="http://java.sun.com/xml/ns/javaee" target="_blank">http://java.sun.com/<wbr>xml/ns/javaee</a>"</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div> xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/<wbr>2001/XMLSchema-instance</a>"</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div> xmlns:c="urn:clustering:1.0"</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div> xsi:schemaLocation="<a href="http://www.jboss.com/xml/ns/javaee" target="_blank">http://<wbr>www.jboss.com/xml/ns/javaee</a> <a href="http://www.jboss.org/j2ee/schema/jboss-ejb3-2_0.xsd" target="_blank">http://www.jboss.org/j2ee/<wbr>schema/jboss-ejb3-2_0.xsd</a> <a href="http://java.sun.com/xml/ns/javaee" target="_blank">http://java.sun.com/xml/ns/<wbr>javaee</a> <a href="http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd" target="_blank">http://java.sun.com/xml/ns/<wbr>javaee/ejb-jar_3_1.xsd</a>"</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div> version="3.1"</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div> impl-version="2.0"></div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div> <assembly-descriptor></div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div> <c:clustering></div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div> <ejb-name>AspectJWeaverLoader<<wbr>/ejb-name></div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div> <c:clustered>false</c:<wbr>clustered></div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div> </c:clustering></div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div> </assembly-descriptor></div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div></jboss:ejb-jar></div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><br></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><br></div></div></div></blockquote><div class="gmail_extra"><div class="gmail_quote"><div>Thanks!</div><span class="HOEnZb"><font color="#888888"><div><br>Eric</div></font></span><div><div class="h5"><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="m_-2354582405362023857gmail-HOEnZb"><font color="#888888"><div></div><div>Stuart </div></font></span><div><div class="m_-2354582405362023857gmail-h5"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>Is there a way to force eager initialization of a @Stateless bean instead? </div><div><br></div><div><br></div><div>Baring that, I did run across a blog entry that indicates the use of the Observer pattern listening for the ApplicationScope (<a href="https://rmannibucau.wordpress.com/2015/03/10/cdi-and-startup/" target="_blank">https://rmannibucau.wordpress<wbr>.com/2015/03/10/cdi-and-startu<wbr>p/</a>). But I suspect that at that point the beans have already been scanned.</div><div><br></div><div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number1 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index0 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt2" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-color1" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:gray">@ApplicationScoped</code></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number2 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index1 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt1" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">public</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">class</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">ProvisioningDataForApplication<wbr>Lifecycle {</code></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number3 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index2 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt2" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-spaces" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline"> </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">private</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">final</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">Map<String, User> users = </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">new</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">HashMap<>(); </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-comments" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:rgb(0,130,0)">// + getter</code></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number4 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index3 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt1" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"> </div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number5 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index4 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt2" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-spaces" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline"> </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">public</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">void</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">init(</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-color1" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:gray">@Observes</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-color1" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:gray">@Initialized</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">(ApplicationScoped<wbr>.</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">class</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">) Object init) {</code></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number6 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index5 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt1" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-spaces" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline"> </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">users.put(</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-string" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:blue">"cdi"</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">, </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">new</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">User(</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-string" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:blue">"cdi"</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">, </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-string" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:blue">"1.1"</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">));</code></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number7 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index6 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt2" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-spaces" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline"> </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">users.put(</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-string" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:blue">"deltaspike"</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black"><wbr>, </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">new</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">User(</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-string" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:blue">"deltaspike"</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">, </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-string" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:blue">"1.3"</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">));</code></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number8 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index7 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt1" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-spaces" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline"> </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">}</code></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number9 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index8 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt2" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"> </div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number10 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index9 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt1" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-spaces" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline"> </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">public</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">void</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">destroy(</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-color1" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:gray">@Observes</code> <code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-color1" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:gray">@Destroyed</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">(ApplicationScoped.</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-keyword" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;font-weight:bold;direction:ltr;display:inline;color:rgb(0,102,153)">c<wbr>lass</code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">) Object init) {</code></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number11 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index10 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt2" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-spaces" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline"> </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">users.clear();</code></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number12 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index11 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt1" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-spaces" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline"> </code><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">}</code></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number13 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index12 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt2" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black">}</code></div></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number13 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index12 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt2" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><code class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-java m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-plain" style="margin:0px;padding:0px;border:0px;font-size:1em;vertical-align:baseline;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;line-height:1.1em;border-radius:0px;background:none;float:none;height:auto;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;display:inline;color:black"><br></code></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-line m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-number13 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-index12 m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387gmail-alt2" style="font-size:14px;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;color:rgb(117,117,117);margin:0px;padding:0px 1em;border:0px;vertical-align:baseline;border-radius:0px;background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;float:none;height:auto;line-height:1.1em;outline:0px;overflow:visible;width:auto;box-sizing:content-box;direction:ltr;white-space:pre-wrap"><br></div><div><br></div>This seems fairly like a complex solution to a fairly simple ask. Or am I misunderstanding the @Singleton pattern? <div><br></div><div>Thanks,</div><div><br>Eric</div><div><br></div></div><div class="m_-2354582405362023857gmail-m_-5611943130526219869HOEnZb"><div class="m_-2354582405362023857gmail-m_-5611943130526219869h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 18, 2017 at 10:55 AM, Stuart Douglas <span dir="ltr"><<a href="mailto:stuart.w.douglas@gmail.com" target="_blank">stuart.w.douglas@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">So one possibility that comes to mind would be to create a small deployment that does the aspectJ attach on deploy (e.g. in a @PostConstruct method of an @Startup EJB). <div><br></div><div>You could then add an inter-deployment dependency on this deployment to all your other deployments, which should ensure that this code is run before other modules are created/loaded.</div><div><br></div><div>Stuart</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387h5">On Wed, Oct 18, 2017 at 4:00 AM, Eric B <span dir="ltr"><<a href="mailto:ebenzacar@gmail.com" target="_blank">ebenzacar@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="m_-2354582405362023857gmail-m_-5611943130526219869m_-2071115625579706387h5"><div dir="ltr">Hi,<div><br></div><div>I'm looking to use AspectJ Load Time Weaving with Wildfly 10. Looking around at some posts, it is a little complicated to get Wildfly launched properly with the AJ weaver due to the way the AJ library intializes the logging subsystem differently than WF.</div><div><br></div><div>Digging around, I found a config that actually works. It is documented here (obviously some of the class names/versions have to change): <a href="https://github.com/ChienChingLee/How-to-launch-Wildfly-9.0-with-AspectJ-1.8-LTW" target="_blank">https://github.com/Ch<wbr>ienChingLee/How-to-launch-Wild<wbr>fly-9.0-with-AspectJ-1.8-LTW</a></div><div><br></div><div>But I'm not a fan of changing my conf file to something that has hardcoded paths/jar names in it - for example adding:</div><div><span style="background-color:rgb(255,255,255)"> </span><span style="background-color:rgba(27,31,35,0.05);color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:13.6px">-Xbootclasspath/p:$JBOSS_HOME<wbr>/modules/system/layers/base/or<wbr>g/jboss/logmanager/main/jboss-<wbr>logmanager-2.0.0.Final.jar </span></div><div><span style="background-color:rgba(27,31,35,0.05);color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:13.6px"><br></span></div><div><span style="background-color:rgba(27,31,35,0.05);color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:13.6px"><br></span></div>Digging around some more in AJ, I saw that as of AJ 1.8.7, there is a way to dynamically attach the weaver to the JVM. Very cool. <a href="https://www.eclipse.org/aspectj/doc/released/README-187.html" target="_blank">https://www.eclipse.org<wbr>/aspectj/doc/released/README-1<wbr>87.html</a> <div>But in order to use the LTW effectively, I need to ensure that the weaver is loaded prior to WF scanning and loading any of my classes (EJB, annotated beans, pojos, etc). But I have no ideas how to do that.</div><div><br></div><div>In the case of a console application, it is pretty straight forward - make it the first item in the application's main() method. But in the case of a JEE app, I don't know of any main() equivalent.</div><div><br></div><div><br></div><div>Is there a way to hook into the classloading mechanism of WF instead to tell it to load the weaver if it isn't already loaded? Can this be done from within the EAR deployment? Or is there a single point of entry that WF accesses before scanning any of the classes in the EAR? Or is there a simpler way of configuring or attaching the AJ Weaver? I did find an old ticket (<a href="https://issues.jboss.org/browse/WFLY-895" target="_blank">https://issues.jboss.org/brow<wbr>se/WFLY-895</a>) that related to this issue, but it is marked as WONT FIX.</div><div><br></div><div>Am not sure of the best approach at this point.</div><div><br></div><div><br></div><div>Thanks,</div><div><br></div><div>Eric</div></div>
<br></div></div>______________________________<wbr>_________________<br>
wildfly-dev mailing list<br>
<a href="mailto:wildfly-dev@lists.jboss.org" target="_blank">wildfly-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailma<wbr>n/listinfo/wildfly-dev</a><br></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div></div></div><br></div></div>
</blockquote></div></div></div><br></div></div>
</blockquote></div><br></div>