Tôi có hai ứng dụng web còn lại mà tôi muốn triển khai trên Jboss 7.1.1. máy chủ.Jboss 7.1.1 - Jackson ContextResolver <ObjectMapper> chỉ hoạt động trên một triển khai
Yêu cầu còn lại trong cả hai ứng dụng tạo và tiêu thụ Json. Tôi sử dụng nhà cung cấp jackson để serialize và deserialize đối tượng.
Bây giờ, tôi cần cấu hình ObjectMapper tùy chỉnh cho mỗi ứng dụng web. Vì vậy, để giải quyết vấn đề này tôi đã thêm vào @Provider lớp thực hiện ContextResolver. Một cho mỗi dự án. Fe. Một trong những lớp học của tôi trông giống như vậy:
@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;
}
}
Nó hoạt động tốt khi tôi triển khai chỉ một trong những dự án này trên jboss. Khi tôi cố gắng triển khai cả hai, chỉ sử dụng dự án khởi tạo đầu tiên được xác định objectMapper. Người khác không bao giờ gọi phương thức getContext từ lớp ContextResolver. Tôi có thể làm gì sai?
EDIT !:
Sau rất nhiều thử nghiệm tôi đã quyết định thay đổi phương pháp phân tích cú pháp JSON từ jackson để staxon. Tôi hy vọng ít nhất phương pháp này sẽ hoạt động tốt. Nhưng không ... Serialization hoạt động hoàn hảo trên cả hai ứng dụng được triển khai. Nhưng một lần nữa, bằng cách nào đó, jboss quyết định sử dụng jackson thay vì staxon trong quá trình deserialization. Một lần nữa, ứng dụng luôn được tôi gọi đầu tiên sau khi triển khai hoạt động tốt. Nhưng thứ hai sử dụng jackson (không biết tại sao ...) gọi là ngoại lệ. Luôn luôn ...
Có vấn đề gì với Jboss không? Có lẽ tôi chỉ làm điều gì đó sai, nhưng tôi không có ý tưởng ở đâu. Ai cũng có ý tưởng tôi nên tìm ở đâu?
đây là trường hợp sử dụng chính xác và vấn đề tôi có. Và một trong những lý do tôi bắt đầu thích .net và hoặc phát triển táo – NimChimpsky