打开JDK及其他底层API日志接口,诊断程序问题

#Java/JMX 遇到一个问题,使用JMX 连接Tomcat,连接的IP是10.1.0.?,在创建连接的时候,会抛出网络连接超时的Exception,迷茫的是,Exception中提示是10.0.0.?的网络连接超时。 一时各种怀疑,但是都找不到问题;后在stackoverflow 上找到打开JMX日志的方式,觉得此方法具有解决这一类问题的通适性。 创建属性文件(.properties)```handlers= java.util.logging.ConsoleHandler.level=ALL java.util.logging.FileHandler.pattern = jmx.logjava.util.logging.FileHandler.limit = 50000java.util.logging.FileHandler.count = 1java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter java.util.logging.ConsoleHandler.level = FINESTjava.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter // Use FINER or FINEST for javax.management.remote.level - FINEST is// very verbose...//javax.management.level=FINESTjavax.management.remote.level=FINEST java.security.debug=all``` 在调用测试程序时,配置使用上述属性文件:```java -Djava.util.logging.config.file=./logging.properties JMXDemoClient ``` _假设你的测试程序被编译为 JMXDemoClient.class_ 通过这种方式,在我的案例中,日志清楚的显示,是JMX Server(此处是Tomcat)要客户端去跟10.0.0.? 连接;所以一定是Tomcat端的配置有问题,进行检查后,发现服务器IP地址变更后,`java.rmi.server.hostname` 没有做更新,仍然是原来的IP地址。 总结: 通过调整属性文件,可以输出任意底层API的各种级别日志。

使用proguard混淆Java代码

对于Java Web项目,使用Netbeans作为IDE环境,想实现自动混淆class文件。因为Web项目,所以一些类是不能混淆的: 1. web.xml中涉及的类名称、package名称2. 返回前端的数据涉及到的类名称、属性名称… proguard的运行方法是执行proguard.sh @<cfg_file.cfg> web项目,一般输入需要混淆的是WEB-INF/classes/下的相关class文件,要把WEB-INF/lib/下的相关jar文件都设置为libraryjars proguard配置文件示例: -injars /Users/xxx/NetBeansProjects/yyy/build/web/WEB-INF/classes-outjars /Users/xxx/neto_classes -dontshrink-dontoptimize -libraryjars /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/jre/lib/rt.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/asm-all-repackaged-2.2.0-b21.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/cglib-2.2.0-b21.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/cglib-2.2.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/commons-beanutils-1.8.0.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/commons-codec-1.3.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/commons-collections-3.2.1.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/commons-digester-2.0.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/commons-fileupload-1.2.2.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/commons-httpclient-3.0.1.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/commons-io-2.0.1.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/commons-lang-2.5.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/commons-logging-1.1.1.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/commons-logging.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/commons-pool-1.6.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/commons-primitives-1.0.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/eclipselink.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/ezmorph-1.0.6.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/guava-14.0.1.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/hk2-api-2.2.0-b21.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/hk2-locator-2.2.0-b21.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/hk2-utils-2.2.0-b21.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/javax.annotation-api-1.2.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/javax.inject-2.2.0-b21.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/javax.servlet-api-3.0.1.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/javax.ws.rs-api-2.0.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/jaxb-api-2.2.7.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/jersey-client.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/jersey-common.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/jersey-container-servlet-core.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/jersey-container-servlet.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/jersey-entity-filtering-2.5.1.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/jersey-media-moxy-2.5.1.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/jersey-server.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/json-lib-2.4-jdk15.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/ojdbc5.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/org-apache-commons-logging.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/org.osgi.core-4.2.0.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/osgi-resource-locator-1.0.1.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/persistence-api-1.0.jar-libraryjars /Users/changzhenghe/NetBeansProjects/RmsPlus/build/web/WEB-INF/lib/spring-aop-3.2.7.RELEASE.jar-libraryjars