タグ

ブックマーク / higayasuo.hatenablog.com (3)

  • Google App EngineでGlobal Transaction - ひがやすを技術ブログ

    Google App EngineにはTransactionは1つのEntity Group内でしかできないという制限があります。詳しくは、App EngineのEntityGroupを理解しよう - yvsu pron. yasを参照してください。 そうするとある口座から別の口座にお金を振込むような送金のパターンで、Transactionを利用することができません(すべての口座を1Entity Groupに押し込むと更新がぶつかって現実的ではないから)。送金パターンで整合性を保つためには、理論的には次のようになります。 http://songofcloud.gluegent.com/2009/11/blog-post_18.html 実装するとこんな感じ。 http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engi

    Google App EngineでGlobal Transaction - ひがやすを技術ブログ
    takezoe
    takezoe 2010/02/10
    1万件のcountが1秒ってかなり遅いような気が…
  • GAE/Jで開発サーバのときだけ振る舞いを変えたい - ひがやすを技術ブログ

    GAE/Jで開発サーバのときだけ振る舞いを変えたいことがありますよね。例えば、Slim3のHOT reloadingオプションを開発のときはtrueで、番サーバのときはfalseにするときなど。 開発用のサーバかどうかは、ServletContext.getServerInfo()が返す値にDevelopmentが含まれているかどうかで知ることができます。 これを利用して、最新のSlim3では、開発用と番(Cloud)用で自動的にHOT reloadingのオプションが切り替わるようになりました。うっかり番用のサーバにHOT reloading:trueでデプロイしてしまうこともなくなります。

    GAE/Jで開発サーバのときだけ振る舞いを変えたい - ひがやすを技術ブログ
    takezoe
    takezoe 2009/06/06
    開発用のサーバかどうかは、ServletContext.getServerInfo()が返す値にDevelopmentが含まれているかどうかで知ることができる
  • オンデマンドデプロイのすすめ - ひがやすを blog

    JavaでAnnotationがついたクラスがあったら、それに対して処理したい場合は、Seasar2のコンポーネント自動登録で使っているように、ファイルシステムまたは Jar ファイルを全走査してクラスロードする方法もあります。 ファイルシステムまたは Jar ファイルを全走査してクラスロードしてください。が結論です。 Seasar だったら、 org.seasar.framework.util.ClassTraversal を読むべし。 でも、これは、Seasar2.3時代(3年前)の話で、技術としてはちょっと古い。 HOT deployなどと組み合わせると、リクエストのたびに全コンポーネントをデプロイする必要があるので、コンポーネントの数が増えると実用的には使えないのです。 そこで、考え出したのが、Seasar2のONDEMAND deploy。コンポーネントの定義を見に行って、あれば

    オンデマンドデプロイのすすめ - ひがやすを blog
    takezoe
    takezoe 2008/12/01
    Disposableは、HOT deployを実現するためのキークラスです。Disposable#disponse()は、HOT deployのときには、リクエストの最後、COOL deploy(HOT deployじゃないもの)のときには、アプリケーションが終了するタイミングで呼び出されます。
  • 1