I am trying to run my JVM in TCP client mode and my TCP server is listening.
Below is the configuration setup.
Server End:(Configured in my eclipse)
-javaagent:jacoco-0.8.4\lib\jacocoagent.jar=port=9005,output=tcpserver,address=*
Client End:(In my cmd)
SET _JAVA_OPTIONS=-javaagent:jacoco-0.8.4\lib\jacocoagent.jar=port=9005,output=tcpclient,address=127.0.0.1
Problem:When ever i try to execute or compile my code it throws the below error in the clien end.
java.net.ConnectException: Connection refused: connect
at java.base/java.net.PlainSocketImpl.connect0(Native Method)
at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:101)
at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
at java.base/java.net.Socket.connect(Socket.java:591)
at java.base/java.net.Socket.connect(Socket.java:540)
at java.base/java.net.Socket.<init>(Socket.java:436)
at java.base/java.net.Socket.<init>(Socket.java:213)
at org.jacoco.agent.rt.internal_035b120.output.TcpClientOutput.createSocket(TcpClientOutput.java:85)
at org.jacoco.agent.rt.internal_035b120.output.TcpClientOutput.startup(TcpClientOutput.java:49)
at org.jacoco.agent.rt.internal_035b120.Agent.startup(Agent.java:122)
at org.jacoco.agent.rt.internal_035b120.Agent.getInstance(Agent.java:50)
at org.jacoco.agent.rt.internal_035b120.PreMain.premain(PreMain.java:49)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:525)
java.lang.NullPointerException
at org.jacoco.agent.rt.internal_035b120.output.TcpClientOutput.writeExecutionData(TcpClientOutput.java:72)
at org.jacoco.agent.rt.internal_035b120.Agent.shutdown(Agent.java:137)
at org.jacoco.agent.rt.internal_035b120.Agent$1.run(Agent.java:54)
I am not sure whether I am configuring it properly.
Guide me to move further.
Thanks
-Dhivya
I would like to get the code coverage report without shutting down my application, I thought the agents will be able to connect to each other. But I was wrong.
Regards,
Dhivya.
Thanks. I tried setting the agent in tcpserver mode and fetch the exec file using the dump CLI command. But when I try to fetch the report using cli, get the below error.
Configuration:
-javaagent:jacoco-0.8.4\lib\jacocoagent.jar"=port=9005,output=tcpserver,address=*
dump command:
java -jar jacoco-0.8.4\lib\jacococli.jar dump --port 9005 --destfile C:\Dhivya\jacoco\jacoco-11july.exec
Report Command:
java -jar jacoco-0.8.4\lib\jacococli.jar report jacoco-client.exec --classfiles MyRest\target\classes\com\infor\m3\MyRest\excel\* --html jacoco\html-tomcat\ --name cc-report
Error:
[INFO] Loading execution data file C:\Users\dravichandran\eclipse-workspace\Jacoco\jacoco-client.exec.
[INFO] Loading execution data file C:\Users\dravichandran\eclipse-workspace\MyRest\target\classes\com\infor\m3\MyRest\excel\RefreshSheet.class.
Exception in thread "main" java.io.IOException: Invalid execution data file.
at org.jacoco.cli.internal.core.data.ExecutionDataReader.read(ExecutionDataReader.java:89)
at org.jacoco.cli.internal.core.tools.ExecFileLoader.load(ExecFileLoader.java:59)
at org.jacoco.cli.internal.core.tools.ExecFileLoader.load(ExecFileLoader.java:73)
at org.jacoco.cli.internal.commands.Report.loadExecutionData(Report.java:98)
at org.jacoco.cli.internal.commands.Report.execute(Report.java:82)
at org.jacoco.cli.internal.Main.execute(Main.java:89)
at org.jacoco.cli.internal.Main.main(Main.java:104).
Regards,
Dhivya
Hi,Thanks. I tried setting the agent in tcpserver mode and fetch the exec file using the dump CLI command. But when I try to fetch the report using cli, get the below error.
Configuration:
-javaagent:jacoco-0.8.4\lib\jacocoagent.jar"=port=9005,output=tcpserver,address=*
dump command:
java -jar jacoco-0.8.4\lib\jacococli.jar dump --port 9005 --destfile C:\Dhivya\jacoco\jacoco-11july.exec
Report Command:
java -jar jacoco-0.8.4\lib\jacococli.jar report jacoco-client.exec --classfiles MyRest\target\classes\com\infor\m3\MyRest\excel\* --html jacoco\html-tomcat\ --name cc-report
Error:
[INFO] Loading execution data file C:\Users\dravichandran\eclipse-workspace\Jacoco\jacoco-client.exec.
[INFO] Loading execution data file C:\Users\dravichandran\eclipse-workspace\MyRest\target\classes\com\infor\m3\MyRest\excel\RefreshSheet.class.
Exception in thread "main" java.io.IOException: Invalid execution data file.
at org.jacoco.cli.internal.core.data.ExecutionDataReader.read(ExecutionDataReader.java:89)
at org.jacoco.cli.internal.core.tools.ExecFileLoader.load(ExecFileLoader.java:59)
at org.jacoco.cli.internal.core.tools.ExecFileLoader.load(ExecFileLoader.java:73)
at org.jacoco.cli.internal.commands.Report.loadExecutionData(Report.java:98)
at org.jacoco.cli.internal.commands.Report.execute(Report.java:82)
at org.jacoco.cli.internal.Main.execute(Main.java:89)
at org.jacoco.cli.internal.Main.main(Main.java:104).

Regards,
Dhivya.