<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&#39;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">&lt;<a href="mailto:ebenzacar@gmail.com" target="_blank">ebenzacar@gmail.com</a>&gt;</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">&lt;<a href="mailto:stuart.w.douglas@gmail.com" target="_blank">stuart.w.douglas@gmail.com</a>&gt;</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&#39;t trigger the @PostConstruct method of it and consquently not load the weaver.</div></div></blockquote><div><br></div></span><div>Just don&#39;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>&lt;?xml version=&quot;1.1&quot; encoding=&quot;UTF-8&quot;?&gt;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>&lt;jboss:ejb-jar xmlns:jboss=&quot;<a href="http://www.jboss.com/xml/ns/javaee" target="_blank">http://www.jboss.<wbr>com/xml/ns/javaee</a>&quot;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>               xmlns=&quot;<a href="http://java.sun.com/xml/ns/javaee" target="_blank">http://java.sun.com/<wbr>xml/ns/javaee</a>&quot;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>               xmlns:xsi=&quot;<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/<wbr>2001/XMLSchema-instance</a>&quot;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>               xmlns:c=&quot;urn:clustering:1.0&quot;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>               xsi:schemaLocation=&quot;<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>&quot;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>               version=&quot;3.1&quot;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>               impl-version=&quot;2.0&quot;&gt;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>    &lt;assembly-descriptor&gt;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>        &lt;c:clustering&gt;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>            &lt;ejb-name&gt;AspectJWeaverLoader&lt;<wbr>/ejb-name&gt;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>            &lt;c:clustered&gt;false&lt;/c:<wbr>clustered&gt;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>        &lt;/c:clustering&gt;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>    &lt;/assembly-descriptor&gt;</div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div>&lt;/jboss:ejb-jar&gt;</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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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&lt;String, User&gt; 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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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&lt;&gt;(); </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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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">&quot;cdi&quot;</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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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">&quot;cdi&quot;</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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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">&quot;1.1&quot;</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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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">&quot;deltaspike&quot;</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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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">&quot;deltaspike&quot;</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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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">&quot;1.3&quot;</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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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,&quot;Bitstream Vera Sans Mono&quot;,&quot;Courier New&quot;,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">&lt;<a href="mailto:stuart.w.douglas@gmail.com" target="_blank">stuart.w.douglas@gmail.com</a>&gt;</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">&lt;<a href="mailto:ebenzacar@gmail.com" target="_blank">ebenzacar@gmail.com</a>&gt;</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&#39;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&#39;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,&quot;Liberation Mono&quot;,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,&quot;Liberation Mono&quot;,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,&quot;Liberation Mono&quot;,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&#39;s main() method.  But in the case of a JEE app, I don&#39;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&#39;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>