Jerseyã®Serviceã¯ã©ã¹æ¢ç´¢ãã©ããªã£ã¦ããã®ã調ã¹ã¦ã¿ã
JAX-RSの実装であるJaersyã§ã¯ãアノテーションを付与したサービスクラスを自動で探索して、デプロイãã¦ããã¾ãããããã³ã°ãæå®ããããã§ããªãããã¡ãããMETA-INF/services/...ãã¨ããä¸è¦ããã¼ãå é¨å®è£ ã¯ã©ããªã£ã¦ããã ãã¼ãæ°ã«ãªãã¼!ãã¨ãããã¨ã§èª¿ã¹ã¦ã¿ãã
çµæ
以ä¸ã®ãããªä»çµã¿ã§ããã
- ãjava.util.jar.JarFileãã使ã£ã¦ã¯ã©ã¹ãã¹ã«å«ã¾ããjarãå±éã
- ã¨ã³ããªãåæãã¦ã.classãã§çµäºãããã¡ã¤ã«ãæ¢ç´¢ãã
- ãããããã¨ã³ããªãASMã§è§£æã
- ã¯ã©ã¹ã«æå®ãããã¢ããã¼ã·ã§ã³ãã¤ãã¦ããã°ããµã¼ãã¹ã¨è¦ãªãã¦ä¸è¦§ã«è¿½å ã
æ¢ç´¢ã®ã¡ã¤ã³ã¯ã©ã¹ã¯jersey-server-1.1.1-ea.jarã«å«ã¾ãããcom.sun.jersey.server.impl.container.config.AnnotatedClassScannerãã«ãªãã¾ããã½ã¼ã¹ã¯Mavenリポジトリã®ãjersey-server-1.1.2-ea-SNAPSHOT-sources.jarãã®ä¸ã«ããã¾ãã
ãã¼ãããã ã¨ã¯ã©ã¹ãã¹ä¸ã«jarã大éã«ããå ´åãæ¢ç´¢ã«æéãããããã§ã¯ã»ã»ã»ã»ãã¨ã¯ããããMETA-INF/services/...ããªã©ããããªãã®ã¯ã¡ãªãããªã®ã§ããããã³ã°ãæ示çã«æå®ããªãå ´åã«ä½¿ããæ¢ç´¢æ¹å¼ã®ä¸ã¤ã¨ãã¦æä¾ããã¦ãããã¨ããªãæ´»ç¨ã§ãããããã¨ãã¯ã©ã¹ã®è§£æã«ASM使ã£ã¦ãã®ã¯ãã¤ã³ãããããã¤ãã³ã¼ããç´æ¥èªãã§ãã®ã§ãæ¢ç´¢ãã¦ãã¯ã©ã¹èªä½ã¯ãã¼ããããªãã¯ãããµããµãã