GrailsがSpringFrameworkに買収され(今はそのSpringがVMWareに買収されましたが)、Springには元tomcatの中の人達が居るらしく
Groovy/Grailsを動かすにはtcServerが最適らしい
そんなわけでとりあえずインストールしてみた
まずは tcServer の構成から
tcServer = いわゆるインスタンす部分、中身はtomcat
AMS agent = 同PC内のtcServerをまとめる
serverのconfigはここで管理するっぽい
AMS Server = AMS agentをまとめる、apacheのかわりになる部分っぽい
AMS Serverを受け口としてAMS agentへ割り振り、agentがインスタンスを管理している、と・・・そんな感じでしょうか
Server hasMany Manager hasMany Instance な感じ、AMS Server自体は分散処理が必要なのかな・・・?
・まずはMacへインストールしてみる
tcServer-6.0.20.A-SR1-macosx-node.tgz をダウンロード
解凍して install.sh を実行
Macには AMS agent と tcServer とかしかない
どっちを入れるか聞いてくるので、とりあえず両方インストール
・tcServer Instanceを作成
cd tcServer-6.0
./tcserver-instance.sh -s testserver -v 6.0.20.A
testserverという名称で tomcat のバージョンは 6.0.20.A を指定
これで testserver フォルダと tomcat-6.0.20.A フォルダが出来る
デフォルトだと以下のポートが使用されるらしい
HTTP listen port: 8080
JMX port: 6969
AJP port: 8009
Shutdown port: -1
・testserverを起動
testserver/bin/tcserver-ctl.sh start
http://localhost:8080 にアクセスして tcServer の画面が出れば起動は成功
・アプリケーションの配備
単純にデプロイするだけなら testserver/webapps へwarをコピーすればOK
次回はAMSを使ったクラスタや自動デプロイ等に挑戦!
カスタム検索
2009年9月14日月曜日
2009年9月4日金曜日
Grails 1.1.1でDomainのsaveについて
Grails1.1.1でたまに .save() でエラーが出る事があります。
MissingPropertyException for "save" って感じなのですが、saveはメソッドなのにプロパティー扱いされてます・・・
これがまた絶対起きる訳ではなく、同じコードでもcleanしたら発生したりしなかったりとやっかいなものです。
現在は修正済みらしく、1.1.2 or 1.2では直るようです。
JIRAはこちら
JIRAにも書いてありますが、HibernateGrailsPluginの初期化がうまくいってないようです。
回避方法としてはドメインの .count とか .list とかを使うと初期化がされるようで、Bootstrap.groovy に以下を追加すれば、
すべてのドメインを初期化してくれます。
MissingPropertyException for "save" って感じなのですが、saveはメソッドなのにプロパティー扱いされてます・・・
これがまた絶対起きる訳ではなく、同じコードでもcleanしたら発生したりしなかったりとやっかいなものです。
現在は修正済みらしく、1.1.2 or 1.2では直るようです。
JIRAはこちら
JIRAにも書いてありますが、HibernateGrailsPluginの初期化がうまくいってないようです。
回避方法としてはドメインの .count とか .list とかを使うと初期化がされるようで、Bootstrap.groovy に以下を追加すれば、
すべてのドメインを初期化してくれます。
import org.codehaus.groovy.grails.commons.ApplicationHolder
class BootStrap {
def init = { servletContext ->
// workaround for GRAILS-4580
ApplicationHolder.application.domainClasses.each { dc ->
dc.clazz.count()
}
}
}
2009年9月3日木曜日
SSHポートフォワーディングでVNC(とかリモートデスクトップとか)
VPNが使えれば悩む事は無いんだけど、そうでもない環境の場合もちょくちょくあるかと思います。
そんな時、SSHが入れるのであればSSHポートフォワーディングを使いましょう。
なんだかフォワーディングとかめんどくさそうな雰囲気が漂っていますが、以外に簡単です。
要領としては、SSHクライアントが特定のポートを受け付ける状態になり、そこへアクセスするとSSH越しに設定した向こう側のPCの特定のポートへアクセス出来るというわけです。
(SSHでログインしたサーバでTCPフォーワーディングが許可されている必要があります)
SSHクライアントが仮想サーバになるようなイメージというのでしょうか・・・
Windowsの場合はTeraTermでココにわかりやすく解説されています
Macであればsshコマンドを使って出来ます、ココに詳しくのっています。
思ったよりも簡単に接続出来ますね :)
そんな時、SSHが入れるのであればSSHポートフォワーディングを使いましょう。
なんだかフォワーディングとかめんどくさそうな雰囲気が漂っていますが、以外に簡単です。
要領としては、SSHクライアントが特定のポートを受け付ける状態になり、そこへアクセスするとSSH越しに設定した向こう側のPCの特定のポートへアクセス出来るというわけです。
(SSHでログインしたサーバでTCPフォーワーディングが許可されている必要があります)
SSHクライアントが仮想サーバになるようなイメージというのでしょうか・・・
Windowsの場合はTeraTermでココにわかりやすく解説されています
Macであればsshコマンドを使って出来ます、ココに詳しくのっています。
思ったよりも簡単に接続出来ますね :)
登録:
投稿 (Atom)