部署点火应用程序的最佳方法是什么? ZeroDeployment听起来很容易,但我还没有找到一个简单的方法。我构建了一个应用程序来尝试Ignite的后写方法。我扩展了CacheStoreAdapter,它使用PostgreSQL jdbc来插入数据。它在IDE中运行良好,但我没有找到将其部署到服务器的好方法。我的笔记本电脑通过Ignite& amp; PostgreSQL通过VPN安装。我的笔记本电脑上的JDBC通过vpn,因此我想在服务器上运行时测试应用程序的性能。
我试过两种方法: 1.应用程序在客户端模式下启动点亮,但是我发现部署涉及几个步骤。 - 将包含jdbc驱动程序的胖jar复制到ignite / libs文件夹中。 - 将config.xml复制到config文件夹中 - 使用ignite.sh config / config.xml启动服务器节点 - 使用java -jar application.jar启动客户机节点 - 客户端程序成功完成但服务器后写代码(CacheStoreAdapter.write)错误输出并且没有发现jdbc驱动程序。将一个单独的postgresql-9.4.1212.jre6.jar复制到libs并重新启动Ignite服务器节点后,后面的写入成功。
[00:24:20,244] [严重] [flusher-0-#23%null%] [GridCacheWriteBehindStore]无法更新底层商店:com.xxxx.xxx.xxx.datastore.CustomStore@555cf22 ........... 引起:java.sql.SQLException:没有为jdbc找到合适的驱动程序:postgresql://xxx.xxxx.xxxx.com:5432/customdb
有更好的方法吗?我同意,在更接近生产的情况下,具有多个服务器节点的集群可能是现实。如果我更改xml中的配置,是否会将更改填充到其他节点?或者我应该更新其他节点中的xml吗?或者以更好的方式使用java配置对象,因为它会自动加载到对等端?
感谢您的时间和建议!
答案 0 :(得分:1)
我发现您尝试部署了两件事:配置(xml文件)和libs。对于您的情况,我建议采用以下方法: