App Engine の禁止クラス

App Engine ではJREに含まれているクラスであっても,white listに登録されているクラス以外は利用できない.Eclipseプラグインを使っていると,書いているうちから赤バッテンがでて教えてくれる.

それでも,無理矢理デプロイすれば出来てしまう.しかもクラス名を触るぐらいの操作なら別に落ちたりはしないのだった.

import javax.swing.Box;
...
  Class b = Box.class;
  logger.warning(b.getName());

のようにしてみたら,ログにはこんな風に出た.

Test doGet: com.google.apphosting.runtime.security.shared.stub.javax.swing.Box

javax.swing.Box への参照が,こんな風に別のクラスへの参照に置き換えられているようだ.ロード時にバイトコード変換してるのかな?ありそうな話しだ.