[mayaa-user:23] Re: パス管理といえば

加藤 kamesuke-hogetaro @ gluegent.com
2005年 11月 26日 (土) 12:43:33 JST


須賀さん、こんにちわ。

システムプロパティなどで良いと思います。
Mayaからはシステムプロパティから引き出して設定が
できる方法だけあれば良いかと思います。

例えば、私はj2ee.diconなどには、以下のように書いて使っています。

<component name="xaDataSource"
           class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
  <property name="driverClassName">@java.lang.System @ getProperty("app1.jdbc.driver")</property>
  <property name="URL">@java.lang.System @ getProperty("app1.jdbc.url")</property>
  <property name="user">@java.lang.System @ getProperty("app1.jdbc.uid")</property>
  <property name="password">@java.lang.System @ getProperty("app1.jdbc.pwd")</property>
</component>

こうすることで、開発環境と本番環境で渡すjavaの起動パラメータを
変えるだけでいけます。java環境変数を設定変更できるというのは、
権限を持ったユーザーにしか操作できないことになるのでセキュリティ的にも
堅いと思います。

MayaはognlではなくRhinoですが、同じように java.lang.System.getProperty("") で
記述できますよね。それでよいかと思います。

例えば、mayaaエレメントに template-absolute-root という属性を持たせて、
今回の機能を実現した前提とすれば…

<m:mayaa xmlns:m="http://mayaa.seasar.org" m:noCache="true"
    m:template-absolute-root="/home/app1/htdocs">

                     ↓

<m:mayaa xmlns:m="http://mayaa.seasar.org" m:noCache="true"
    m:template-absolute-root="${java.lang.System.getProperty('app1.template-path')}">

と書ければ良いと思います。
開発環境と本番環境の差異をMayaaが面倒を見るというところ
まではせずに、あくまでもユーザーの使い方次第とし、Mayaaは
使われ方を規定しないというスタンスだけで良いかと思います。

ただ、上記のような設定を、全ての .mayaa に書くのかなると、
きついので、どこか1つでまとめられないかとも思います。

たしか、Mayaaは中心となる定義ファイルを書くことができましたよね?
テンプレートのsuffixの設定をlocaleなどで切り替える定義などを書く、
コンフィギュレーションファイルってありましたよね?
確か聞いた記憶があったのですが見つけられませんでした。すみません。
そこで1回定義したら全部に適用されれば良いかなと思います。



--------------------------------------------------------->>
Gluegent,Inc. T.Kato
http://package.gluegent.com/~kato/signature.xml
---->> generate products and services with high added value


> suga です。
> 
> 05/11/25 に suga<ko.suga @ gmail.com> さんは書きました:
> > というわけで、これに関しての問題点は
> > 「コンテキストルートの外を見られるようにするか」
> > という点ですね。
> 
> 設定次第でコンテキストルートの外を見られるようにしたいと思います。
> 
> ただ、その指定をどうするのが良いか、考えがまとまりません。
> 良いアイデアがあれば教えてください。
> 
> 絶対パス指定にしても、相対パス指定にしても、Java の外になるため
> 「開発環境と本番環境でパスが違う」
> ということになってしまいがちだと思うのです。
> 
> どういう指定方法だと使いやすいでしょうか。
> 
> --
> suga ( ko.suga @ gmail.com )
> _______________________________________________
> mayaa-user mailing list
> mayaa-user @ ml.seasar.org
> https://www.seasar.org/mailman/listinfo/mayaa-user
> 




mayaa-user メーリングリストの案内