appserver WildFly 8.1 / jboss debug / jboss rmi

s

开启jboss debug模式,服务端口8787.

[jbossuser@lindowsdevapp04 ~]$ vim /opt/wildfly/bin/standalone.conf

JAVA_OPTS="$JAVA_OPTS -Xms1536m -Xmx1536m"
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled"
# tangxje 20180717
JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n"

[jbossuser@lindowsdevapp04 ~]$ netstat -an | grep 8787
tcp 0 0 0.0.0.0:8787 0.0.0.0:* LISTEN

  

https://stackoverflow.com/questions/13005441/how-to-start-jboss-7-in-debug-mode

Edit the file <jboss-root>/bin/standalone.conf like this:

Uncomment the line

JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=4242,server=y,suspend=n"

Afterwards start the server with standalone.sh.

Now you can detach a debugger with your favorite IDE. If you are using Eclipse you can switch to "Debug-Configurations" and add a new Remote Java-Application.

If the server is started with the JAVA_OPTS set above, you are able to debug with your IDE.

wildfly远程监控配置方法 / "C:Program FilesJavajdk1.8.0_111injvisualvm.exe"  /  jvisualvm配置jmx连接方法
1,配置module
standalone:
vim /opt/wildfly/modules/system/layers/base/org/wildfly/extension/io/main/module.xml
<dependencies>
<module name="org.jboss.remoting" export="true"/>
<module name="org.jboss.remoting-jmx" export="true"/>
</dependencies>


2,jboss添加用户jbsuser,并添加权限
standalone:
/opt/wildfly/bin/add-user.sh -a -u jbsuser -p jbsuser
/opt/wildfly/bin/jboss-cli.sh --connect --commands="/core-service=management/access=authorization/role-mapping=Administrator:add"
/opt/wildfly/bin/jboss-cli.sh --connect --commands="/core-service=management/access=authorization/role-mapping=Administrator/include=jbsuser:add(name=jbsuser,type=USER)"

3,下载/opt/wildfly/bin/client/jboss-client.jar到本地

4,启动jvisualvm
jvisualvm -cp:a "D: empjboss-client.jar"


5,添加主机和jmx连接
service:jmx:http-remoting-jmx://10.47.181.84:8080

===========================================================================================================================================================

问题2:wildfly 8.1 开启rmi,使可以访问ActiveMQ 应用

错误描述: Failed to retrieve RMIServer stub: javax.naming.NameNotFoundException: rmi://10.6.54.232:9734/ffmmendservice -- service jboss.naming.context.java.rmi:."10.6.54.232:9734".ffmmendservice

https://www.bbsmax.com/A/QV5Zwk04dy/

https://issues.jboss.org/browse/AS7-2138?_sscc=t

解决2:

1、修改文件/opt/wildfly/modules/system/layers/base/sun/jdk/main/module.xml

约50行处新增如下内容
<path name="com/sun/jndi/url/rmi"/>

2、重启jboss生效。

解决2,方法二:

项目里应该是有一个WEB-INF/jboss-deployment-structure.xml

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
     <deployment>
                <exclusions>
                    <modile name="org.slf4j" />
                    <modile name="org.slf4j.impl" />
                    <modile name="com.fasterxml.jackson.core.jackson-core" />
                    <modile name="com.fasterxml.jackson.core.jackson-databind" />
                    <modile name="com.fasterxml.jackson.jaxrs.jackson-jaxrx-json-provider" />
                    <modile name="org.jboss.resteasy.resteasy-jackson2-provider" />                    
                </exclusions>
        <dependencies>
            <system>
                    <path name="com/sun/jndi/url/rmi" />
            </system>
          </dependencies>
     </deployment>  
</jboss-deployment-structure>

就是在deployment节点下加上:
<dependencies>
<system>
<paths>
<path name="com/sun/jndi/url/rmi"/>
</paths>
</system>
</dependencies>
这样不用修改jboss的配置,可以随项目一起发布解决jboss调用activemq的rmi问题

也可以参考如下

/opt/wildfly/standalone/tmp/vfs/temp/tempd4f926f9346e3c32/myproject-manual-201905281441.war-9e8d29f5c2e4213b/WEB-INF/jboss-deployment-structure.xml

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>        
        <exclusions>
            <!-- Exclude slf4j 1.6.1, we provide 1.7.2 -->
            <module name="org.apache.commons.logging" />
            <module name="io.netty" />
            <module name="org.slf4j" />
            <module name="org.slf4j.ext" />
            <!-- Exclude slf4j-jboss-logmanager -->
            <module name="org.slf4j.impl" />
            <module name="org.sl4j.jcl-over-slf4j" />  
            <module name="org.jboss.logging.jul-to-slf4j-stub" />  
            <module name="org.jboss.netty" />
            <!-- Exclude for winq add by lindows 20181009-->
            <module name="com.fasterxml.jackson.core.jackson-core"/>
            <module name="com.fasterxml.jackson.core.jackson-databind"/>
            <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider"/>
            <module name="org.jboss.resteasy.resteasy-jackson2-provider"/>
        </exclusions>
        <dependencies>
            <system>
                <paths>
                    <path name="com/sun/jndi/url/rmi"/>
                </paths>
            </system>
        </dependencies>
    </deployment>
</jboss-deployment-structure>

方法三:Jboss7 中应用如何引用第三方Modules

https://blog.csdn.net/just_lion/article/details/8839475

方式三> 类似如果希望这个module被所有部署的应用使用,那么可以将其设置为global module:

编辑standalone/configuration/standalone.xml:

<subsystem xmlns="urn:jboss:domain:ee:1.0">
            <global-modules>
                <module name="mysql" slot="main" />
            </global-modules>
 </subsystem>

end

原文地址:https://www.cnblogs.com/lindows/p/9322203.html