cola y solicitudes por lotes usando java

Quiero utilizar algún mecanismo para hacer algo como esto: tengo un servidor de aplicaciones que recibe solicitudes para procesar pedidos. Una solicitud puede tener uno o dos pedidos. Para procesar el pedido, la aplicación deberá realizar una llamada a un proveedor externo, el proveedor puede procesar a lo sumo 5 pedidos a la vez. Quiero crear un componente que procesará un máximo de hasta 5 pedidos si está disponible y disparará una solicitud al proveedor y luego, cuando reciba la respuesta, redistribuya la respuesta a la solicitud correspondiente. El componente esperaría, digamos, 2 segundos antes de disparar una solicitud por lotes cuando llegue la primera solicitud.

Pensé en usar JMS, pero en JMS un consumidor procesará el mensaje (pedido) tan pronto como llegue y un consumidor procesará un mensaje a la vez. Estoy pensando en usar una cola regular (ArrayBlockingQueue) y agrupar los pedidos antes de disparar usando un ScheduledTimerTask. ¿Alguien tiene alguna idea? Gracias de antemano.

Respuesta 1

La mayor parte de lo que describe se puede hacer con Apache Camel . Se puede configurar para acelerar, procesar por lotes y reenviar solicitudes.

El agregador hace qué "espera máxima para mensajes X y luego reenvía solicitud"

Respuesta: 2

Entonces, soy realmente nuevo en el mundo de los gráficos y para una aplicación en la que estoy trabajando, necesito convertir una matriz 2D de valores int en una imagen 2d donde los valores int corresponden a un color. Por ejemplo, un valor de (...

Estoy usando un proyecto que tiene estas importaciones al principio: import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLServerSocket; import javax.net.ssl ​​....

Tenemos una prueba diaria en Hudson / Jenkins que genera un informe JUnit XML. Me gustaría que los resultados de esas pruebas se muestren en el explorador de paquetes Eclipse. Puedo importar el resultado de la prueba y ...

Tengo una pregunta sobre la implementación del cliente RESTful. En este momento he desarrollado el servidor usando RESTeasy y EJB. El método devuelve JSON en muchos casos. Y ahora estamos comenzando el backend ...