metodo - ¿Por qué Java EE 6 requiere que equals() y hashCode() se implementen para los adaptadores de recursos?
override hashcode java (1)
Creo que esto es por seguir
checkout ManagedConnectionFactory aquí.
vea que esta es una interfaz y tiene los métodos equals()
y hashCode()
. Entonces Basic java, la primera clase concreta que implementa una interfaz debe definir todos los métodos de la interfaz. Que su adaptador de recursos debe implementar, por lo que debe definir estos métodos
referir Un adaptador de recursos necesita implementar ManagedConnectionFactory aquí.
Según la pregunta anterior, de acuerdo con la especificación de JCA 1.6, necesitamos proporcionar implementación para
A resource adapter must provide implementations of the following interfaces:
javax.resource.spi.ManagedConnectionFactory
javax.resource.spi.ManagedConnection
javax.resource.spi.ManagedConnectionMetaData
Que no era el caso con 1.5
Entonces, es por eso que da error durante la Validación
El validador JCA se ha vuelto más estricto con la versión 1.6, por lo tanto, el error.
Nada es muy claro al respecto, hay muchas preguntas y publicaciones en Internet sobre el mismo problema. La mejor explicación posible que encontré fue el "requisito" de proporcionar una fábrica de conexiones.
También en caso de que necesite eludir el error, deberá cambiar a JCA 1.5 o desactivar el con 1.6
Estoy trabajando para actualizar el código de JBoss 5.1 a JBoss 7.1 y falla si estos métodos no se implementan explícitamente en los adaptadores de recursos. Entiendo el concepto de cada uno, y sé sobre el contrato entre los dos. No estoy preguntando cómo implementarlos o qué significan. Pregunto específicamente por qué DEBEN implementarse para el código de Java EE 6 (en este caso, JBoss AS 7.1).
¿Hay alguna buena razón para pensar mucho o es suficiente simplemente tener:
boolean equals(Object obj) { return super.equals(obj) ; }
int hashCode() { return super.hashCode() ; }