Externalizer4J is a developer tool
Externalizer4J optimizes object serialization automatically. It works on the bytecode directly. You simply plug Externalizer4J in after the compilation step. After analysis of the classes it generates bytecode for new serialization methods. Hence the description Serialization Compiler.
What it does
By default Externalizer4J converts Serializable classes into Externalizable implementations with their own optimized writeExternal() and readExternal() methods. For Hazelcast it generates an implementation for the writeData() and readData() methods of the DataSerializable or IdentifiedDataSerializable interfaces. All without any coding!
Externalizer4J currently supports the generation of serialization methods for the JDK and the Hazelcast in-memory data grid.
Externalizer4J will help you improve application performance by:
- speeding up serialization by generating serialization methods optimized for you classes
- minimizing the serialized data size by using the most efficient serialization calls
Optimized serialization benefits many Java technologies :
- RMI, JMS
- JEE session beans, servlet sand clustering
- Distributed computing and caches (ex. JGroups, Hazelcast)
Features and benefits
|No tedious and error-prone coding of serialization calls. And no maintenance either. Fast and automatic optimization designed to fit easily in your development workflow. No process change and with all benefits of optimized serialization.||
Automatic analysis and optimization
Easy of integration
|Simple integration in any Ant or Maven build or straight from the IDE, Externalizer4J fits any build:
– Apache Ant task
|Externalizer4J can inspect hand-written serialization logic for errors: wrong methods order, missing fields, incorrect deserialization order, etc…Support for: Serializable, Externalizable, DataSerializable, IdentifiedDataSerializable||
Static code analysis of existing serialization code
No coding and no dependencies
|No code changes required! Externalizer4J can analyze and optimize your classes right away. No annotations or special API’s. No compile time dependency.
Optimized applications and libraries do not become dependent on Externalizer4J! No runtime dependency.
|Externalizer4J gets out of you way by being fast. The optimization is designed to easily fit in your current builds; not slowing them down.||
Fast analysis and optimization