Pregunta

Estoy tratando de configurar un servidor con Cayenne (Persistencia de objetos remotos). En mi caso, tengo varias bases de datos utilizando el mismo mapa. ¿Cuál es la mejor manera de implementar que, ya que dos nodos no pueden apuntar al mismo mapa?

Encontré dos formas de hacer eso, pero eso no es realmente satisfactorio:

  • para tener un dominio para cada base de datos y por lo tanto un servlet para cada base de datos.Funciona, pero significa que tendré que cambiar la web.xml y para volver a cargar la aplicación web si creo una nueva base de datos.

  • para tener un dominio que contenga varios nodos y varios mapas que apuntan al mismo archivo.Tuve que sobrecargar a EntityResolver, de modo que construiría el caché solo en el primer mapa y para sobrecargar la selección para que apunte al mapa correcto.No estoy seguro de que sea una buena manera de hacerlo ...

Gracias por sus respuestas y comentarios.

¿Fue útil?

Solución

Suponiendo que Cayenne 3.1 o más nuevo, creará un objeto separado ServerRuntime para cada DB.DatasOurces para cada uno de ellos puede ser creado dinámicamente cuando configura un nuevo tiempo de ejecución.

Para alaminarlo para ROP Es posible que deba crear su propio servlet que tenga un mapa de múltiples servicios de HessiaServlets, uno por DB, y envía solicitudes a instancias apropiadas basadas en algunos parámetros de solicitud.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top