पर काम करता है मैं दो बाकी webapps मैं JBoss 7.1.1 पर तैनात करने के लिए चाहते हैं। सर्वर। दोनों ऐप्लिकेशन मेंJboss 7.1.1 - जैक्सन ContextResolver <ObjectMapper> केवल एक ही तैनाती
बाकी अनुरोध पैदा करता है और Json खपत करता है। मैं वस्तुओं को क्रमबद्ध और deserialize करने के लिए जैक्सन प्रदाता का उपयोग करें।
अब, मैं प्रत्येक webapp के लिए कस्टम ObjectMapper विन्यास की जरूरत है। इसलिए इस समस्या को हल करने के लिए मैंने ContextResolver को लागू करने वाले @ प्रदाता वर्गों को जोड़ा। प्रत्येक परियोजना के लिए एक। फे। मेरी कक्षा में से एक ऐसा दिखता है:
@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;
}
}
यह अच्छी तरह से काम करता है जब मैं jboss पर केवल एक परियोजना को तैनात करता हूं। जब मैं दोनों को तैनात करने का प्रयास करता हूं, केवल पहले प्रारंभिक प्रोजेक्ट का उपयोग ऑब्जेक्टमैपर परिभाषित करता है। अन्य कोई ContextResolver कक्षा से getContext विधि कभी नहीं कॉल करता है। मैं गलत क्या कर सकता हूँ?
संपादित !:
परीक्षणों का एक बहुत मैं जैक्सन से json पार्स करने staxon करने की विधि बदलने का फैसला किया गया। मुझे उम्मीद थी कि कम से कम यह विधि अच्छी तरह से काम करेगी। लेकिन नहीं ... सीरियलाइजेशन दोनों तैनात अनुप्रयोगों पर पूरी तरह से काम करता है। लेकिन फिर, किसी भी तरह से jboss deserialization प्रक्रिया में staxon के बजाय जैक्सन का उपयोग करने का फैसला किया। तैनाती के बाद पहले जो भी मैं पहले कॉल करता हूं, वह हमेशा अच्छा काम करता है। लेकिन जैकसन का उपयोग करने वाला दूसरा (कोई विचार क्यों नहीं ...) जो अपवाद कहता है। हमेशा ...
वहाँ Jboss के साथ किसी भी समस्या है? शायद मैं कुछ गलत कर रहा हूं लेकिन मुझे पता नहीं है कि कहां है। किसी के पास विचार है कि मुझे कहां देखना चाहिए?
इस सटीक उपयोग के मामले और समस्या मेरे पास है है है कि वहाँ है। और जेआईआरए – NimChimpsky