Веб-сервис Джерси Rest с интеграцией промежуточного программного обеспечения ActivemqJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Веб-сервис Джерси Rest с интеграцией промежуточного программного обеспечения Activemq

Сообщение Anonymous »

У меня есть API службы Restful, разработанный с использованием JAX-RS и jersey. Я развернул то же самое в TOMCAT 7. Теперь я хотел бы реализовать Activemq, чтобы хранить все запросы в очереди и обрабатывать ресурс запроса. Как это сделать и интегрироваться с tomcat7. Как интегрировать ActiveMq с Tomcat7 или моим веб-приложением службы отдыха. Как позвонить в сервис.

Важно: -
Внутри Rest Api я использую концепцию FilterChaining из соображений безопасности, и после проверки вызывающей стороны я просто пересылаю запрос на ресурс. Для этого я добавил в web.xml.

Спасибо

Вот мой класс: -

Код: Выделить всё

    public class LimitFilter implements Filter {

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {

//some authentication
if (true) {
// let the request through and process as usual
chain.doFilter(request, response);

} else {
// handle limit case, e.g. return status code 429 (Too Many
// Requests)
// see http://tools.ietf.org/html/rfc6585#page-3
((HttpServletResponse) response).sendError(429);
}
}
}
}
Вот мой пример класса для activemq: -

Код: Выделить всё

public class Qservlet extends HttpServlet {

/**
*
*/
private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String body = "";
try {
// Create a ConnectionFactory

ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("admin", "admin", ActiveMQConnection.DEFAULT_BROKER_URL);

// Create a Connection

Connection connection = connectionFactory.createConnection();

Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);

Destination destination = session.createQueue("testQ");
TextMessage message = session.createTextMessage();
message.setText( "My text message was send and received");//
message.setJMSRedelivered(true);
message.setJMSCorrelationID(request.getSession().getId());

connection.start();

MessageProducer producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
producer.send(message);

message = null;
MessageConsumer consumer = session.createConsumer(destination);
message = (TextMessage) consumer.receive(1000);
if (message != null) {
body = message.getText();
}

producer.close();
consumer.close();
session.close();
connection.close();

} catch (Exception e) {
System.out.println(e.toString());
}

}

}
Теперь, если какой-либо запрос поступает в класс Limit Filter, я пересылаю его непосредственно на ресурсы после некоторых механизмов аутентификации. Вот почему я использую концепцию фильтра для перехвата всех запросов.

Второй класс — это пример класса, когда я бегу; обмен сообщениями — это запрос и удаление из очереди; Я вижу в консоли ActiveMq.

В первом классе я просто пишу "chain.doFilter(request, response)" для пересылки всех HTTP-запросов на соответствующий ресурс. Теперь как это сделать здесь. Куда поместить HTTP-запрос. Мне нужно обрабатывать каждый запрос асинхронно. REST синхронен.

Пожалуйста, предложите какой-нибудь способ. и объясните свой ответ.

Спасибо/с уважением
Кумар Шорав

Подробнее здесь: https://stackoverflow.com/questions/197 ... ntegration
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»