Importe clases Java personalizadas en JavaScript del lado del servidor en Xpages (Lotus Domino 8.5+)
-
10-07-2019 - |
Pregunta
Con Lotus Domino 8.5.1, se puede usar " estándar " Clases de Java en Javascript del lado del servidor (incrustado en una página X), o clases de Java disponibles en la carpeta WEB-INF / lib. Por ejemplo:
var driverClass:java.lang.Class;
var driver:java.sql.Driver;
var connection:java.sql.Connection;
var statement:java.sql.Statement;
driverClass = java.lang.Thread.currentThread().getContextClassLoader().loadClass("org.gjt.mm.mysql.Driver");
driver = driverClass.newInstance();
(muestra encontrada aquí aquí )
Sin embargo, ¿cómo podría uno usar nuestras propias clases personalizadas definidas en las bibliotecas de scripts de Java? En una página X, solo se pueden importar bibliotecas javascript del lado del servidor (no Java ni LS).
Gracias por tu ayuda
Saludos
Solución
Respuesta encontrada en la wiki:
http://www-10.lotus.com /ldd/ddwiki.nsf/dx/reuse_java_xpage.htm
Desde un XPage es fácil llamar a Service Side JavaScript para la lógica empresarial. El JavaScript ha incorporado funciones que le permiten llamar a Java. Desafortunadamente, JavaScript del lado del servidor, como lo usa XPages, actualmente no puede llamar a las rutinas Java creadas en una biblioteca Java. Sin embargo, puede llamar a una biblioteca Java que se ha exportado como un archivo JAR. Como resultado, también puede crear una biblioteca Java que también invoca un archivo JAR de Java.
Otros consejos
Implementamos casi toda la lógica usando Java estándar usando Eclipse y Maven para desarrollar Java y empaquetarlos como JAR. Incluso configuramos Maven para copiar los JAR en el directorio apropiado en el servidor domino (/ xsp / shared / lib es estándar, o usamos / jvm / lib / ext para hacer que las clases estén disponibles en todas partes en domino, por ejemplo, para implementar sus propios complementos de servidor Java) automáticamente. Recomiendo este enfoque.
En realidad utilizamos dominó " solo " como servidor de aplicaciones y almacenar datos en un RDBMS.