socket servidor recibir multiples enviar clientes cliente java derby

java - recibir - ¿Cómo se inicia Derby en el modo de servidor de red y aún se obtiene una conexión incrustada?



sockets java multiples clientes (5)

Alguien me corrige si estoy equivocado, ambos correrán en puertos separte. Entonces puedes conectarte al requerido usando el connectionName correcto, ¿verdad?

Solo quiero saber cómo puedo iniciar derby en el modo de servidor de red y aún así poder obtener una conexión integrada.

Gracias.


El modo Servidor incrustado suena como lo que está pidiendo. Le permite iniciar un servidor de red cuando inicia la base de datos integrada.


Suena contradictorio que quiera iniciar derby en el modo de servidor de red y obtener el controlador incrustado. Incluso si esto fuera posible, definitivamente se desaconseja. Debería decidir si desea utilizar Apache Derby en el modo de red utilizando el DRDA o como un controlador integrado y cumplir con esa decisión.

Aquí encontrará un tutorial sobre cómo usar el controlador de red: http://db.apache.org/derby/papers/DerbyTut/ns_intro.html


Debe ejecutar Derby en "modo de servidor incorporado". Si ya está utilizando Derby en modo incrustado, esto puede habilitarse proporcionando los archivos necesarios en su classpath y luego especificando un puñado de argumentos de línea de comando al iniciar la aplicación.

Primero asegúrese de que los siguientes archivos jar estén en el classpath del tiempo de ejecución de su aplicación.

derby.jar derbynet.jar

A continuación, agregue las siguientes opciones de línea de comando al comando de Java utilizado para iniciar su aplicación. Si faltan los archivos de clase, estas opciones no tendrán efecto.

-Dderby.drda.startNetworkServer=true -Dderby.drda.portNumber=8011

Estoy ejecutando Derby desde un servlet alojado por Tomcat, así que agregué estas opciones al archivo catalina.bat.

Inicie su aplicación y consulte la lista de conectores de red abiertos.

netstat -an | find "8011"

Ahora debería ver Derby escuchando conexiones en 8011. Ahora es posible conectarse a la base de datos utilizando el controlador de cliente de Derby (derbyclient.jar). Las instrucciones en http://docs.oracle.com/javadb/10.3.3.0/adminguide/radminembeddedserverex.html cubren esta parte bastante bien.

Se insinuó que correr Derby en este modo puede ser desalentado. No creo que sea el caso. Su aplicación continuará accediendo a la base de datos usando el controlador incrustado, mientras que a otro software ahora se le permite el acceso usando el controlador del cliente.


@pawelocue: Lo siento, pero esto está mal. Usar el modo de servidor incrustado está perfectamente bien y, a veces, es muy útil. Definitivamente no se desalienta.