我正在开发一个rails应用程序,它使用少数Sinatra服务,每个服务都有自己的数据库。我们正在将我们的服务和应用程序转移到Glassfish。我们可以将我们的Sinatra应用程序捆绑到.war包中,并将其部署到远程Glassfish服务。我们要做的一件事是能够在每个服务中运行Tux,这样我们就可以直接与对象交互(用于调试)。我想使用glassfish / domains / domain1 / applications / {app} /目录中gems / gems目录中包含的gem。我尝试编写一个基于此的bash脚本:https://gist.github.com/1986553/8e2d9ba892229ab076ad81ee88472d951b94282e,最终结果如下:
if [ $# -lt 1 ]
then
echo "Usage:"
exit
else
DIR="$( cd "$( dirname "$0" )" && pwd )"
echo $DIR
export GEM_HOME="${DIR}/gems/gems"
export GEM_PATH=$GEM_HOME
echo $GEM_PATH
app_runner="java -cp lib/jruby-core-1.6.4.jar:lib/jruby-stdlib-1.6.4.jar org.jruby.Main -r ../META-INF/init" # relative to app.war/WEB-INF/lib
bundle exec tux
fi
似乎没有接受GEM_PATH
的更改。我把这种方法放在一边,只是安装在rvm gemset
中必要的宝石中,并设置我的环境来使用它。然后我能够运行bundle exec tux
,但无法连接到数据库,而无法处理我在Glassfish服务器上设置的所有细节。我希望能够使用我用来连接我的Glassfish服务器的jndi连接器。
还有其他人做过这些事情和/或有指针吗?感谢