Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
社内でDocker化を進めていますが、現在Tomcat上で動かしているJava製WebアプリをDocker化する方法を検討しています。 調べた限りでは何通りか方法があるのですが、本番稼働から開発環境までを通して期待する方法がなかったため、自分なりの方法を考えてみました。 まだ実践していませんが、こうすればできそうという方法ができたのでまとめてみました。 目標とした要件は以下の通りです。 Tomcatで動作させること HTTPとAJPの両方に対応すること Dockerイメージのビルドがややこしくならないこと 開発環境もDockerで実行させること 開発時にコードの変更を簡易に素早く反映させられること なるべく現状の動作方法を維持しつつ、開発環境にも対応させることを目標としています。 実現方法 早速、実現方法について紹介します。 紹介する方法はビルドにMaven、IDEにIntellij Id
2009年05月25日01:18 カテゴリ Servletによる非同期処理の実行 Servletによる非同期処理の実行について試した結果を整理しておく。 まずは、非同期に行う処理も一つのServlet内に書いてしまうやり方。 TestServlet1 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String dest = "/TestJSP1.jsp"; ServletContext sc = getServletContext(); RequestDispatcher rd = sc.getRequestDispatcher(dest); rd.forward(request, response);
はじめに 少し前まで業務でSeasar2 FWを使っていたためコネクションプールはSeasar2のものを利用していました。S2のコネクションプールの実装はシンプルだったし業務で利用していても特にそこがボトルネックになることはありませんでした。 別のプロジェクトに移ってDBCPを触っていたのですが、実装になんとなく疑問を感じたので調べてみました。 tomcat jdbc connection poolとは? tomcatで実装したConnectionPoolの実装です。(DBCPとは異なります。) tomcat 7.0.19から利用できます。 tomat-jdbc.jarに含まれています。 DBCPからの切り替えはfactoryを変更するだけです。 tomcatのdefaultではDBCPが選択されていますので明示的に変更が必要です。 どこに違いがあるのか。 パフォーマンス DBCPよりパフ
EclipseでWebアプリケーションを開発する際、Tomcat Loaderを利用しているのですが、デフォルトの設定ではTomcatの各種ログファイルが出力されません。 普段はあまり問題にならないのですが、デバッグの際にログファイルが必要になることがあります。 今回はEclipseからTomcatを起動する際のログ出力設定についてご紹介します。・・・と言うか自分の備忘録ですが・・・ まず、Eclipseのメニューから[ウィンドウ|設定]を開きます。 設定ダイアログが開いたら[Tomcat|JVM設定]を選択します。 ダイアログ右部の[JVM パラメーターへ追加]欄から[追加]ボタンをクリックします。 表示されたダイアログに以下の値を入力します。 -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava
経緯 「Webアプリ用のMavenプロジェクトをTomcatで動かしたいです!」と方法を聞かれたので、私が知っている方法をまとめておく。開発の上でのルールに合わせて、いずれか一つの方法でよい。 方法1 Apache Tomcat Maven Plugin を使う 設定 プロジェクトのpom.xmlのpluginsの部分にApache Tomcat Maven Pluginを追加。 <plugins> <!-- snip --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>/foo</path> </configuration> </plugin> </
今回のエントリから、Apache Tomcat を題材としたコードリーディングを始めます。 Tomcat の全体像の理解と、起動やリクエスト処理などで何が行われているかを 大雑把に把握することを目的とします。 まずはTomcat自体の説明と、コードリーディングを行う上であると便利なものをご紹介します。 Apache Tomcat - Wikipedia Apache Tomcat (アパッチ トムキャット) は、Java Servlet や JavaServer Pages (JSP) を実行するためのサーブレットコンテナ(サーブレットエンジン)である。Apache License, Version 2.0を採用したオープンソースソフトウェアであり、商用利用も多い。Java Servlet 3.0、JavaServer Pages 2.2対応。バージョン 7.0 は JDK 6 以降が必要
[初メモ] はじめての Tomcat 〜 つまづいたところまとめ (Java のバージョン指定、起動パラメータ など)JavaWindowsCentOSNetBeansTomcat こんにちは、cloudpack の @dz_ こと大平かづみです。 Prologue - はじめに 前回 の過程で Zabbix で jmx監視を試したかったので、Tomcat の環境を作っています。その際につまづいたことについてのメモです。 動作環境 Webサーバー CentOS 6.6 Apache Tomcat6 (6.0.24) Java 1.5.0 or 1.8.0 tomcat の最新バージョンは 8 ですが、諸事情により tomcat6 で環境作っています。 開発環境 Windows Server 2012 R2 Apache Tomcat6 (6.0.43) Java 1.8.0 Netbean
ライブラリ非依存でRedisにGET、SETしてみました。 ライブラリに依存しないJavaプログラムでRedisにデータを登録、取得する(SET、GET) これをJDBCドライバ風に扱えるようにしてみます。 JDBCドライバの作り方 以前JDBCドライバの作り方を調べたことがあります。 JDBC over Thriftを作成する その1(JDBCドライバの作り方) JDBC over Thriftを作成する その2(JDBCドライバのロード) JDBC over Thriftを作成する その3(Connectionクラスの実装) JDBC over Thriftを作成する その4(Statementクラスの実装) JDBC over Thriftを作成する その5(ResultSetクラスの実装) JDBC over Thriftを作成する その6(サーバーモジュールの作成) JDBC o
先日行われた「第3回チューニンガソン(Tuningathon)」に参加して来ました。 僕は福岡在住なので、福岡サテライトでの参加です。 Zusaar 福岡サテライト Zusaar 東京本会場 今回はblojsom + Tomcat + MySQLでした。 結果は5位。 仕事でTomcatを5年くらい運用管理している現役Java屋なので、 優勝しないといけない気がしますが。。。 福岡会場はJavaやった事がない方がほとんどで、 最近はホントにJavaって少数派なんだと実感しました。 なんか寂しい(ToT) 東京本会場はどうだったのかな? 条件は、 Tomcatをフロントにして、DBはMySQLにすること。 Tomcat, Java, MySQLの入れ替えはOK。 webapps/blojsom以下は改変NG。アプリ配置パスも変更不可。 という感じです。 僕がやった内容は以下になります。 JV
Windows XP SP2 と CentOS 5.1 なマシンに、 Tomcat 6.0.16 と、ついでに Java SE 6 Update 4 もインストールしておいた。 Tomcat のスクリプトをざっと読む。 java.endorsed.dirs が $CATALINA_HOME/endorsed/ になっている。 だけど初期状態ではこのディレクトリは存在しない。 Tomcat 6 になってクラスローダが整理され、 $CATALINA_HOME/common/, $CATALINA_HOME/server/, $CATALINA_BASE/shared/ が $CATALINA_HOME/lib/ にまとめられている。 $CATALINA_BASE を指定して複数インスタンス環境で利用しているので、 shared が無くなってしまうのは困る。 なので、各インスタンス用にクラスパス
Tomcatをツールで運用し、設定の基礎を知る:Tomcatはどこまで“安全”にできるのか?(2)(1/3 ページ) Tomcatに運用と設定は必要ない? 前回でTomcatのセットアップから利用確認までが完了しました。今回はTomcatの運用と設定、それにバージョン6からの新機能について触れていきたいと思います。 いままでTomcatに触れたことのある方々はご存じのとおり、このアプリケーションは有名でみんなが利用しているのですが、ドキュメンテーションが少ないことでも有名です。実験的に利用する際に簡単に運用するのであれば、ほとんど変更することなく利用できるため、細かくいじりたくない・必要ないというのも事実でしょう。 そんなニーズに応えるちょっとした管理に便利なのが、Tomcatの管理マネージャ(Tomcat Manager Application)です。今回はまずこの機能の利用方法から入っ
//インポートするパッケージ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; //通常の宣言 private Log logger = LogFactory.getLog(this.getClass()); //staticメソッドのログ調査をする場合、thisは使えないので private static Log logger = LogFactory.getLog(クラス名.class); とする。 //ログを出したい場所での記入例 logger.debug("ログ出ます:"+メソッドなど); [参考文献] The Apache Tomcat 5.5 Servlet/JSP Container TOMCAT5.5でLog4Jを使う。 [準備するjarファイル] log
homebrewでTomcatをインストールする方法をメモ Tomcatをインストール インストールは下記コマンドを実行するだけ。 $ brew install tomcat今回インストールしたTomcat のバージョンは 6.0.26 です。 インストールされる場所は以下 /usr/local/Cellar/tomcat/6.0.26また、/usr/local/Cellar/tomcat//bin/ 配下のシェルなどがシンボリックリンクとして/usr/local/bin/ 配下に作成されます。 $ ls -l /usr/local/bin | grep tomcat lrwxr-xr-x 1 user staff 39 2010-10-21 19:50 catalina.sh -> ../Cellar/tomcat/6.0.26/bin/catalina.sh* lrwxr-xr-x 1
いつもお世話になっております。 当方、Tomcat5.xとEclipse3.2でWebアプリ(Struts使用)を開発しております。 Eclipse環境下で、JVMの設定を追加して.propertiesファイルの置き場を指定しているのですが、Tomcatのみのサーバにアプリを配置するとプロパティファイルの場所が分からなくなるらしく(CLASSPATHが通っていない?)エラーになってしまいます。 private String fileName = "mail.properties"; private String properties = null; public MailUtil() { this.properties = this.getClass().getClassLoader().getResource(this.fileName).toString(); ←ここでNullPoin
August 26, 2007 Tomcatのコンテキストパス指定 カテゴリ:仕事 Tomcat5.5.23で、アプリケーション/META-INF/context.xml に書いた path属性が無視されてしまい、どうしてもコンテキストパスが warファイル名(アプリケーションのディレクトリ名)になってしまう、という現象について。 結論から言うと、warファイル一発デプロイでコンテキストパスを指定するのは不可能です。 Tomcat5.5.23ではアプリケーション/META-INF/context.xml に path属性を書いても無視されます。これは仕様です。 さらに、$CATALINA_HOME/conf/[enginename]/[hostname]/に置いた {アプリ名}.xmlにpath属性を書いても無視されます。 これも仕様です。 Tomcat5.0では、これらのコンテキスト設定
デブサミ2010の流れで、Hudsonを試したくなったわけですが Webサーバがいないじゃん、おいらのmac ということに気がついたので、インストールしてみた。 Grassfishとちょっと悩んだけど、とりあえず雄猫で! バージョン OS:Max OS X 10.6.2 (snow leopard) Tomcat : 6.0.24 (2010/02/22最新) ダウンロード Apache Tomcat本家http://tomcat.apache.org/download-60.cgi#6.0.24 ここからapache-tomcat-6.0.24.tar.gzを落としてくる。 解凍する インストール 適当なディレクトリに解凍後フォルダを移動する。 developっていうディレクトリがおいらのmacにはいるので、とりあえずそこ。 /Applications/Utilities/ターミナルを起
本ブログはJava8(特にMetaspace)に対応していない。 下記にJava8以降に対応した記事を記載する(予定)。 blog.pepese.com JavaVMのメモリ領域について JavaVMが管理するメモリ領域について 階層1 階層2 階層3 説明 Javaヒープ JavaVM上で起動するJavaプログラムのリソースを管理する領域。New領域とOld領域で構成される。 l" New領域 新規オブジェクトと閾値(-XX:MaxTenuringThreshold)未満のオブジェクトが配置される。(Young領域とも呼ばれる) l l" Eden領域 新規のオブジェクトが配置される。 l l" From領域 CopyGC(ScavengeGC、マイナーGC)が実行された際に、使用中のオブジェクトはここへコピーされる。(S0やS1とも呼ばれる) l lー To領域 CopyGC(Scav
我等が働き者、Tomcat。君は一体、どの程度まで多くのスレッドを作成してリクエストをさばく事が出来るんだい? まず最初にLinuxのスレッドライブラリについて軽く言及しておかねばなるまい。Linuxのスレッドライブラリには二種類ある。 まず、昨今のLinux(Kernel 2.6及びそれ以降)で用いられているNTPL(Native POSIX Thread Library)。これは1:1モデルのスレッドライブラリで、スレッドをプロセスとして実装してある。SolarisなどではいわゆるLWP(Light Weight Process)をしてスレッドを実装してあるのだけれども、Linuxではスレッドもプロセスも同じtask_struct構造体として扱い、COE(Context Of Execution、実行コンテキスト)をそれぞれ用に割り当てて用いているようだ。各プロセスは独立した仮想メモリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く