Ho due webapp di riposo che voglio distribuire su Jboss 7.1.1. server.Jboss 7.1.1 - Jackson ContextResolver <ObjectMapper> funziona solo su una distribuzione
Le richieste di rest in entrambe le app producono e consumano Json. Uso il provider di jackson per serializzare e deserializzare oggetti.
Ora, ho bisogno di configurazioni personalizzate di ObjectMapper per ogni webapp. Quindi per risolvere questo problema ho aggiunto le classi @Provider che implementano ContextResolver. Uno per ogni progetto. Fe. Uno della mia classe che assomiglia:
@provider
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class JacksonConfig implements ContextResolver<ObjectMapper> {
private final ObjectMapper objectMapper;
public JacksonConfig()
{
objectMapper = new ObjectMapper();
objectMapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
}
@Override
public ObjectMapper getContext(Class<?> objectType) {
return objectMapper;
}
}
funziona bene quando schiero solo uno di questi progetti JBoss. Quando provo a distribuire entrambi, solo il primo progetto inizializzato utilizza objectMapper definito. L'altro non chiama mai il metodo getContext dalla classe ContextResolver. Cosa potrei fare di sbagliato?
EDIT !:
Dopo un sacco di prove ho deciso di cambiare il metodo di analisi JSON da Jackson a staxon. Speravo almeno che questo metodo funzionasse bene. Ma non ... La serializzazione funziona perfettamente su entrambe le applicazioni distribuite. Ma ancora una volta, in qualche modo, JBoss ha deciso di usare Jackson invece di Staxon nel processo di deserializzazione. Di nuovo sempre l'applicazione che chiamo prima dopo la distribuzione funziona bene. Ma in secondo luogo usando jackson (non so perché ...) che chiama eccezioni. Sempre ...
C'è qualche problema con Jboss? Probabilmente sto solo facendo qualcosa di sbagliato ma non ho idea di dove. Qualcuno ha idea di dove dovrei guardare?
questo è l'esatto caso d'uso e problema che ho. E uno dei motivi per cui sto iniziando a preferire .net o lo sviluppo di apple – NimChimpsky