ODBOGM Class Instrumentation Agent

ODBOGM Agent instrument class at runtime to detect dirty object.

License

License

GroupId

GroupId

com.github.mdre
ArtifactId

ArtifactId

odbogm-agent
Last Version

Last Version

1.1.1
Release Date

Release Date

Type

Type

jar
Description

Description

ODBOGM Class Instrumentation Agent
ODBOGM Agent instrument class at runtime to detect dirty object.
Project URL

Project URL

https://github.com/mdre/odbogm-agent
Source Code Management

Source Code Management

https://github.com/mdre/odbogm-agent

Download odbogm-agent

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.mdre/odbogm-agent/ -->
<dependency>
    <groupId>com.github.mdre</groupId>
    <artifactId>odbogm-agent</artifactId>
    <version>1.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.mdre/odbogm-agent/
implementation 'com.github.mdre:odbogm-agent:1.1.1'
// https://jarcasting.com/artifacts/com.github.mdre/odbogm-agent/
implementation ("com.github.mdre:odbogm-agent:1.1.1")
'com.github.mdre:odbogm-agent:jar:1.1.1'
<dependency org="com.github.mdre" name="odbogm-agent" rev="1.1.1">
  <artifact name="odbogm-agent" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.mdre', module='odbogm-agent', version='1.1.1')
)
libraryDependencies += "com.github.mdre" % "odbogm-agent" % "1.1.1"
[com.github.mdre/odbogm-agent "1.1.1"]

Dependencies

compile (2)

Group / Artifact Type Version
org.ow2.asm : asm jar 7.1
org.ow2.asm : asm-util jar 7.1

test (1)

Group / Artifact Type Version
junit : junit jar [4,)

Project Modules

There are no modules declared in this project.

odbogm-agent

TransparentDirtyDrectorAgent for ODBOGM

This java agent force the implementation of the ITransparentDirtyDetector interface on-the-fly. I could be load at runtime whe the SessionManager is instantiated o load as a parameter of the JVM.

I have found that in certains case, when you use EJB, some classes are loaded before the aplication itself is initiated, so in that case is recomended to set the agent in the JVM parameters.

For example, to add it to Glassfish/Payara, just copy the odbogm-agent-all-1.0.0.jar to the lib/ext dir of the domain and set in Configurations > server-config > JVM Settings > JVM Options an opetion with:

-javaagent:/opt/payara/glassfish/domains/domain1/lib/ext/odbogm-agent-all-1.0.0.jar

and restart the server.

The agent instrument all method of the classes that are annotated with @Entity. It add a few method to catch when the internal state of an instance change.

Versions

Version
1.1.1
1.0.5.4
1.0.5
1.0.4
1.0.1
1.0.0