<div dir="auto">Where does WF know where to find the corresponding jar that contains that package name? Does it take it from the jvm startup classpath parameters? Does it matter if it&#39;s -cp or -Xbootclasspath/a?  <div dir="auto"><br></div><div dir="auto">Thanks</div><div dir="auto"><br></div><div dir="auto">Eric</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Oct 23, 2017 3:07 PM, &quot;Stuart Douglas&quot; &lt;<a href="mailto:stuart.w.douglas@gmail.com">stuart.w.douglas@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 24, 2017 at 2:04 AM, 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>Thanks for the tips, but i&#39;m still struggling with this.  Here&#39;s what I&#39;ve done so far.</div><div><br></div><div>I&#39;ve added the module name under -Djboss.modules.system.pkgs and added it as a cp argument as :</div></div></blockquote><div><br></div><div>This is not a module name, but a package name. You should not be creating a aspectj modules.</div><div><br></div><div>Stuart</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>    -Djboss.modules.system.pkgs=<wbr>org.jboss.byteman,org.aspectj,<wbr>org.jboss.logmanager</div><div>    -classpath &quot;D:\jboss-eap-7.0\modules\syst<wbr>em\layers\base\org\aspectj\<wbr>main\aspectj-0.0.1-SNAPSHOT.<wbr>jar&quot; <br></div><div><br></div><div>My org.aspectj module is defined as:</div><div><div><br></div><div>&lt;module xmlns=&quot;urn:jboss:module:1.3&quot; name=&quot;org.aspectj&quot;&gt;</div><div>    &lt;resources&gt;</div><div>        &lt;resource-root path=&quot;aspectjweaver-1.8.10.jar<wbr>&quot;/&gt;</div><div>        &lt;resource-root path=&quot;aspectj-0.0.1-SNAPSHOT.j<wbr>ar&quot;/&gt;</div><div>    &lt;/resources&gt;</div><div>&lt;/module&gt;</div></div><div><br></div><div><br></div><div><br></div><div>Now when I start Wildfly, I still don&#39;t see it trying to weave any of the base Wildfly/undertow modules.    If I define the org.aspectj as a global module in the standalone.xml, the I see the weaver attempting to weave my application deployment but none of the base WF classes.</div><div><br></div><div>Does the jboss.modules.system.pkgs argument relate to the module name or to the package naming of the libraries?  ie: do my aspects in aspectj-0.0.1-SNAPSHOT.jar also have to be in an &#39;org.aspectj&#39;  java package or am I free to use any package naming structure I want as long as they are part of the org.aspectj WF module definition?  My aspect is actually in a test package called &quot;aspectj&quot;.  I even tried added &quot;aspectj&quot; to the jboss.modules.system.pkgs variable, but to no avail.</div><div><br></div><div>How does WF know where to find classes/packages defined in &#39;jboss.modules.system.pkgs&#39;? </div><div><br></div><div>Thanks,</div><div><br>Eric</div><div><div class="m_-166815338747811853h5"><div><br></div><div><br></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Oct 22, 2017 at 7:09 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">I think you probably want to modify the classpath and also add -Djboss.modules.system.pkg<wbr>s=org.aspectj (or whatever package aspectj classes are under). This system property is a comma separated list of non-modular packages that JBoss modules will just pass straight through to the system class loader.<div><br></div><div>Stuart</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_-166815338747811853m_7265970116642630524gmail-h5">On Sat, Oct 21, 2017 at 1:29 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_-166815338747811853m_7265970116642630524gmail-h5"><div dir="ltr">I&#39;m trying to use AspectJ to advise some core classes in Wildfly/undertow.  Specifically, I&#39;m trying to advise some of the Undertow HttpSession methods to get some more detailed logging when Sessions are created/expire/etc.<div><br></div><div>I&#39;ve added AspectJ as a -javaagent which is launched on startup of Wildfly.  I had to follow some of the steps listed at: <a href="https://github.com/ChienChingLee/How-to-launch-Wildfly-9.0-with-AspectJ-1.8-LTW" target="_blank">https://github.com/ChienCh<wbr>ingLee/How-to-launch-Wildfly-9<wbr>.0-with-AspectJ-1.8-LTW</a>.  But it works; I can see that the AJ weaver is loaded and present.</div><div><br></div><div>My problem now is that I don&#39;t know where to put my jar of aspects for it to be loaded/visible by the weaver for all modules.  I&#39;ve managed to get it to work by modifying the io.undertow.servlet module, adding my jar in the folder and modifying the module.xml, but that only advises the io.undertow.servlet.* classes.  And it seems like quite an ugly hack to get to that.</div><div><br></div><div>I tried creating an independent module for it, and declaring it as a global module in my standalone.xml, but that didn&#39;t seem to work.  Nor did modifying the servlet module.xml and specifying my module as a dependency.</div><div><br></div><div>I tried to add it to the startup parameters in the standalone.conf file, specifying it as -classpath path/to/myaspect.jar, but that only advised the startup WF (org.jboss) classes and none of the modules.</div><div><br></div><div>At the moment, I&#39;m looking to advise any implementation of javax.servlet.http.HttpSession<wbr>.invalidate().  In AJ language, the pointcut is simple: execution(* javax.servlet.http.HttpSession<wbr>+.invalidate(..)) will match any implementation of the HttpSession interface.  However, to make it active, I need to get that Aspect in the classpath of every module loaded and visible to the AJ weaver.<br></div><div><br></div><div><div>Is there a &quot;generic&quot; place I can declare the the aspects.jar so that it is part of the classpath of every module loaded or is my only choice to modify every module.xml in the system?</div><div><br></div><div>Thanks,</div></div><div><br>Eric</div><div><br></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></div>
</blockquote></div><br></div></div>
</blockquote></div></div>