Spanish jRDC2 solo funciona con B4J abierto. / jRDC2 only works with B4J open.

Alejandro Viera

Member
Licensed User
Buenas, tengo el problema de que el Servidor que escucha la conexiones de MySQL. (sacado de este hilo https://www.b4x.com/android/forum/t...tation-of-rdc-remote-database-connector.61801) solo funciona si la B4J esta abierto. si lo cierro (emulando la pc de mi cliente) deja de funcionar!.

Alguna sugerencia para solucionar el inconveniente?

Gracias

Hi, I have the problem that the server listening for MySQL connections. (taken from this thread https://www.b4x.com/android/forum/t...tation-of-rdc-remote-database-connector.61801) only works if the B4J is open. if I close it (emulating my client's pc) it stops working!

Any suggestions to solve the problem?

Thanks
 

Alejandro Viera

Member
Licensed User
Simulando la ejecución en la pc de mi cliente, que no tiene B4J por supuesto. (eso quise decir)

Si, compilo en release.

Lo ejecuto con un doble click,! (Tengo la ultima versión de JAVA instalada)
 

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
Compila en release y correlo con la linea de comandos en vez de darle doble click, si tienes un error te va a aparecer ahi.
Comparte ese error para que te pueda seguir ayudando
 

josejad

Expert
Licensed User
Longtime User
Hola Alejandro:

Échale un ojo a estos dos tutoriales, que te pueden ser de utilidad:



Una vez has compilado en release como indica Enrique, debes copiar el fichero .jar generado en la carpeta Objects en el PC de tu cliente, y ejecutarlo con algo como:

B4X:
"C:\Program Files\Java\jdk-11.0.1\bin\java.exe" -jar jRDC.jar
(cambia C:\Program Files\etcetera\java.exe por la ruta a tu ejecutable java.exe)
 

Alejandro Viera

Member
Licensed User
Este error obtengo ejecutando por linea de comandos:

Exception in thread "main" java.lang.UnsupportedClassVersionError: b4j/example/main (Unsupported major.minor version 53.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
 

josejad

Expert
Licensed User
Longtime User
Hum...

No soy muy bueno con java (tampoco), probablemente Enrique puede ayudarte con más detalle que yo, pero por ir probando:

¿qué versión o versiones de java tienes?

Tienes instalada Java 8 u OpenJDK 11 como se recomienda en las instrucciones de instalación?

Installation
1.Oracle Java 8 or OpenJDK 11
  • Download one of the following JDKs. Note that OpenJDK 11 requires Windows 64 bit.
  • Recommended: OpenJDK 11 + OpenJFX 11: download link.
    License: GPL + classpath exception. License permits usage in closed commercial projects (package components: OpenJDK and OpenJFX).
    Download the zip and unpack it. C:\java is a good place for it. It is recommended to use a tool such as 7-Zip to unzip the large package. Windows Explorer might fail to extract it properly.
    Note that other versions of Java 11+, not downloaded from B4X, will not work as JavaFX will be missing.

  • Oracle JDK 8: download link (requires creating an account).
    Check the Accept License Agreement button.
    Select "Windows x86" or "Windows x64" (for 64 bit machines) in the platforms list.
    Download the file and install it.

Con lo cual el path de tu instalación para hacer llamada debería ser algo como 'C:\java\jdk-11.0.1\bin\javac.exe' o 'C:\Program Files\Java\jdk1.8.0_151\bin\javac.exe'
 

Alejandro Viera

Member
Licensed User
José el path es: C:\Java\jdk-11.0.1\bin\javac.exe, lo solucioné quitando la c del nombre del exe de java (javac), usando la linea que me recomendaste
B4X:
"C:\Program Files\Java\jdk-11.0.1\bin\java.exe" -jar jRDC.jar

Quizás javac.exe lleve otros parámetros para su ejecución, por lo pronto avance un paso mas, resta probarlo en otra pc, pero estimo funcionará.
Gracias a todos!
Thank to all!
 

josejad

Expert
Licensed User
Longtime User
bien, bien... genial.

Ahora, en el ordenador que estás ejecutando el archivo, puedes probar a poner en un navegador:

http://localhost:8090/test (o el puerto que hayas configurado)
Si todo va bien deberías ver en el navegador:

B4X:
RemoteServer is running (04/29/2021 20:21:31)
Connection successful.

Recuerda que la base de datos, debe estar en el mismo ordenador en el que has puesto el servidor jRDC (si es que has puesto localhost en el fichero config.properties de jRDC2)
 
Top