■
PlayのノンブロッキングI/Oの挙動が確かめたくなったので、jconsoleでスレッド状態を監視した時のメモ。
playの eclipse/xxx.launch ファイルにJVM起動オプションを指定できるので、以下オプションを指定。
- Dcom.sun.management.jmxremote
<?xml version="1.0" encoding="UTF-8"?> <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> <listEntry value="/demoapp"/> </listAttribute> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> <listEntry value="4"/> </listAttribute> <booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> <listAttribute key="org.eclipse.jdt.launching.CLASSPATH"> <listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER" javaProject="demoapp" path="1" type="4"/> "/> <listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/demoapp/conf" path="3" type="2"/> "/> <listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry id="org.eclipse.jdt.launching.classpathentry.defaultClasspath"> <memento exportedEntriesOnly="false" project="demoapp"/> </runtimeClasspathEntry> "/> </listAttribute> <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/> <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="play.server.Server"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="demoapp"/> <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -Dplay.debug=yes -Dplay.id= -Dapplication.path="${project_loc:demoapp}" -Djava.endorsed.dirs="/Users/ITPUser/dev/playdemo/play-1.2.1/framework/endorsed" -javaagent:"/Users/ITPUser/dev/playdemo/play-1.2.1/framework/play-1.2.1.jar" -Dcom.sun.management.jmxremote"/> </launchConfiguration>
18行目です。