java.io.InvalidClassException: org.jboss.security.auth.callback.SecurityAssociationHandler; org.jboss.security.auth.callback.SecurityAssociationHandler; class invalid for deserialization(Line breaks added for readability).
I got this when deploying an EJB3 application that uses Hibernate 3 to JBoss Application Server version 5.1.0.GA. It also said:
Exception in thread "main" java.lang.RuntimeException: failed on MarshalledValue(Line breaks added for readability).
Semi-useful, if you're in a mood for euphemisms.
The problem

JBossSX (which is a security framework) is a dependency coming from my jboss-as-ejb3 dependency (it's a Maven project that I'm creating).
jboss-as-ejb3 mixes up its jbosssx dependencies - it asks for 3 different versions (2.0.2.SP1, 2.0.2.SP2, 2.0.3.SP1). The earlier versions are known to have caused problems.
The fix
Therefore I decided to overwrite those Maven dependencies with my own. In other words, in my pom.xml, I added this:
<dependency> <groupId>org.jboss.security</groupId> <artifactId>jbosssx</artifactId> <version>2.0.3.SP1</version> </dependency>
It is explicitly provided by me and overrules the other ones. Fixed!
JBoss 5, EJB3 + Hibernate Maven pom.xml
That's the entire pom.xml file:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>nl.novadoc.sample</groupId> <artifactId>ejb</artifactId> <version>0.0.1-SNAPSHOT</version> <name>ejb Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>javax.persistence</groupId> <artifactId>persistence-api</artifactId> <version>1.0</version> <type>jar</type> <scope>provided</scope> </dependency> <dependency> <groupId>org.jboss.jbossas</groupId> <artifactId>jboss-as-ejb3</artifactId> <version>5.1.0.GA</version> <type>jar</type> <scope>provided</scope> </dependency> <dependency> <groupId>org.jboss.security</groupId> <artifactId>jbosssx</artifactId> <version>2.0.3.SP1</version> </dependency> </dependencies> <build> <finalName>hibejb</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </build> <repositories> <repository> <id>jboss-maven2</id> <url>http://repository.jboss.com/maven2</url> </repository> </repositories> </project>
I hope this helps if someone is in need.
I am studying Hibernate using this book: Java Persistence with Hibernate
It helps me run this website if you purchase this book using this link. Thanks!
No comments:
Post a Comment