Struts1.2.x で複数のパスを ActionServlet に割り当てる。
できないっぽい。
WARNING - The framework will not operate correctly if you define more than one
element for the controller servlet.
とマニュアルには書かれてる。
でもできるんじゃないかと思って幾つか設定を試してみる。
まずは単純に url-pattern を複数書いてみる。
action
*.do
/foo/*
ダメ。後ろの url-pattern が有効になる。
サーブレットそのものを複数書いてみる。
action
org.apache.struts.action.ActionServlet
・・・
foo
org.apache.struts.action.ActionServlet
・・・
action
*.do
foo
/foo/*
これもダメ。あとの設定が有効になってる。
こまった。
JBoss HA でデフォルトのサーバー以外に twiddle.sh を投げる
Ports Binding を example にある port-01 に設定した場合
./twiddle.sh -s localhost:1199 serverinfo -d
Windows で PROXY が上手く動作しない場合
proxycfg -p proxy.example.com:8080
遅延制約
普段、データベースでの外部制約は殆ど設定せず、アプリケーション側で整合性をとるようにしてるんだけど、ちょっと外部制約をつけないと我慢できない人とお仕事することになって色々調べてたら遅延外部制約というものがあるらしい。
JBoss AS 7
Java のアプリケーションサーバの評価をするのに JBoss AS7 をインストールして何も考えずにスタンドアローンで起動したらエラーになった。7.0.0 の時は起こらなかったのに。。。
$ $JBOSS_HOME/bin/standalone.sh
=========================================================================JBoss Bootstrap Environment
JBOSS_HOME: /opt/jboss7
JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true
=========================================================================
09:31:15,697 情報 [org.jboss.modules] JBoss Modules version 1.0.2.GA
09:31:16,205 INFO [org.jboss.msc] JBoss MSC version 1.0.1.GA
09:31:16,265 INFO [org.jboss.as] JBoss AS 7.0.2.Final "Arc" starting
09:31:16,613 ERROR [stderr] Exception in thread "Controller Boot Thread" java.lang.RuntimeException: org.jboss.as.controller.persistence.ConfigurationPersistenceException: Failed to parse configuration
09:31:16,615 ERROR [stderr] at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:89)
09:31:16,621 ERROR [stderr] at java.lang.Thread.run(Thread.java:722)
09:31:16,622 ERROR [stderr] Caused by: org.jboss.as.controller.persistence.ConfigurationPersistenceException: Failed to parse configuration
09:31:16,623 ERROR [stderr] at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:115)
09:31:16,627 ERROR [stderr] at org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:104)
09:31:16,628 ERROR [stderr] at org.jboss.as.server.ServerService.boot(ServerService.java:195)
09:31:16,629 ERROR [stderr] at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:83)
09:31:16,630 ERROR [stderr] ... 1 more
09:31:16,633 ERROR [stderr] Caused by: java.lang.RuntimeException: Unable to determine a default name based on the local host name
09:31:16,634 ERROR [stderr] at org.jboss.as.controller.parsing.CommonXml.getDefaultName(CommonXml.java:184)
09:31:16,634 ERROR [stderr] at org.jboss.as.controller.parsing.StandaloneXml.readServerElement(StandaloneXml.java:137)
09:31:16,635 ERROR [stderr] at org.jboss.as.controller.parsing.StandaloneXml.readElement(StandaloneXml.java:91)
09:31:16,636 ERROR [stderr] at org.jboss.as.controller.parsing.StandaloneXml.readElement(StandaloneXml.java:79)
09:31:16,637 ERROR [stderr] at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:100)
09:31:16,638 ERROR [stderr] at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:59)
09:31:16,639 ERROR [stderr] at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:107)
09:31:16,646 ERROR [stderr] ... 4 more
09:31:16,646 ERROR [stderr] Caused by: java.net.UnknownHostException: nonce1: nonce1
09:31:16,647 ERROR [stderr] at java.net.InetAddress.getLocalHost(InetAddress.java:1438)
09:31:16,648 ERROR [stderr] at org.jboss.as.controller.parsing.CommonXml.getDefaultName(CommonXml.java:182)
09:31:16,649 ERROR [stderr] ... 10 more
09:31:16,651 ERROR [stderr] Caused by: java.net.UnknownHostException: nonce1
09:31:16,655 ERROR [stderr] at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
09:31:16,656 ERROR [stderr] at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:866)
09:31:16,657 ERROR [stderr] at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1258)
09:31:16,658 ERROR [stderr] at java.net.InetAddress.getLocalHost(InetAddress.java:1434)
09:31:16,661 ERROR [stderr] ... 11 more
^C09:31:32,404 INFO [org.jboss.as] JBoss AS 7.0.2.Final "Arc" stopped in 18ms
どうもホスト名を取得しにいってるみたいなんだけど、それがとれなくて怒られてるっぽい。
ググったら以下のサイトに出くわしたので、記載の通りに以下の XML ファイルの定義のところに name="standalone" 属性を追加
$ vi $JBOSS_HOME/standalone/configuration/standalone.xml
lv がない。。。
CentOS 6 になったら lv がパッケージからなくなってる。。。
でも、less より lv の方が便利なのでやっぱり使いたい。ということで、以下の方法でインストール。
依存モジュールを yum でインストールし、Fedora 6 で提供されているパッケージの RPM を持ってきて、インストール。
$ wget http://archives.fedoraproject.org/pub/archive/fedora/linux/core/6/x86_64/os/Fedora/RPMS/lv-4.51-8.1.x86_64.rpm
$ sudo yum install -y compat-libtermcap.x86_64
$ sudo rpm -ivh lv-4.51-8.1.x86_64.rpm
他にも ソースから RPM を自分で作る方法もあるけど、ちょっとそこまでは。。
CSR ファイルで鍵の bit 長が何かを確認する。
こんな感じ
openssl req -text -in example.com.csr | head
出力例
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=US, ST=NewYork, L=5 th Avenu, O=Example, Ltd., OU=Example Dpt., CN=*.example.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:b2:3a:02:ad:c0:4d:d5:25:ef:d4:f7:02:51:c7:
a1:2b:12:32:bd:66:38:8f:6d:e9:2e:be:d9:b1:4a:
Nginx のインストール
CentOS 5.6 に tarball からインストールする。
$ wget http://nginx.org/download/nginx-1.0.9.tar.gz
$ tar zxvf nginx-1.0.9.tar.gz
$ cd nginx-1.0.9
$ ./configure --prefix=/usr/local/nginx-1.0.9 --with-http_ssl_module
$ make
$ sudo make install
$ sudo cp -p /usr/local/nginx-1.0.2/conf/nginx.conf /usr/local/nginx-1.0.9/conf/nginx.conf
$ sudo ln -s /usr/local/nginx-1.0.9 /usr/local/nginx
via CentOS - Installing Nginx from source
でも、最近やっと yum のリポジトリができてるので、新規にインストールする場合はその方がよいと思います。
Windows に Subversion のサーバを作る。
個人のファイル管理用に Windows で Subversion のリポジトリを作成する。
要件は以下の通り。
- プロトコルはsvn
- ネットワーク通信ありで
- Windows 起動時にサービス起動
VisualSVN から Windows 用の Apache Subversion command line tools をダウンロードする。
展開して適当なフォルダにおき、以下のコマンドをコマンドプロンプトで実行
sc create svnserver binPath= "
\svnserve.exe --service -r "
VMWare のイメージをコピーした場合にすること。
備忘録
- VMWare をシャットダウンして、設定から MAC アドレスを確認
- /etc/sysconfig/network-script/ifcfg-eth0 の MAC アドレスを正しい値に変更
- /etc/sysconfig/network のホスト名を変更
- /etc/udev/rules.d/70-persistent-net.rules を正しいないように修正
delicious api
昔、自分のために del.icio.us のタグを編集するアプリを作って完全放置状態だったんだけど、del.icio.us が売却されたので、ちょっと見直していたところ、どうも API の挙動が変わってるみたい。
具体的にはすべてのタグを取得したいんだけど、TOP 50 しかとれない。。。
ググってたらこんなやりとりが
しばらく待つしかないようです。
rvm のインストール
rvm をみてインストール。 モードはシングルユーザで。
取りあえず、インストール
$ bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
インストール後のメッセージに従って、~/.profile の末尾に以下を追記
-s "/Users/izuno/.rvm/scripts/rvm" && source "/Users/izuno/.rvm/scripts/rvm" # This loads RVM into a shell session.
依存するライブラリをインストール。
$ rvm pkg install readline
$ rvm pkg install iconv
$ rvm pkg install zlib
$ rvm pkg install openssl
インストール可能なリストを見て、必要なバージョンをインストール。
システムでインストールされているのが 1.8.7 系なのでそれは system を使うとして、1.9 系をインストール。
$ rvm list known
$ rvm install 1.9.2