Spring3 tc Server起動時にエラー発生
Spring3 開発環境を整備しようの記事で、下記のように書きました。
[Servers]ペインの「VMWare vFabric tc Server Developper Edition」を右クリックでコンテキストメニューを開き、「Start」メニューを選択すると、STSにビルトインされているWebサーバ(vFabrid tc Server)が起動します。
「http://localhost:8080」にアクセスして下記の画面が表示されれば、STSのインストールおよびWebサーバの起動が成功です。
私の環境では、1回目の起動はうまく言ったのですが、なぜか2回目の起動時には下記のようなエラーが出ます。
重大: クラス org.springframework.web.context.ContextLoaderListener のリスナインスタンスにコンテキスト初期化イベントを送信中の例外です org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0' defined in class path resource [com/springsource/insight/repo/app-config-db.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cache-with-props' defined in URL [jar:file:/C:/springsource/vfabric-tc-server-developer-2.7.0.RELEASE/spring-insight-instance/webapps/insight/WEB-INF/lib/insight-repo-1.8.3.RELEASE.jar!/com/springsource/insight/repo/app-config-gemfire.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: The following required files could not be found: *.crf files with these ids: [1], *.drf files with these ids: [1]. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:710) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:410) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1585) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cache-with-props' defined in URL [jar:file:/C:/springsource/vfabric-tc-server-developer-2.7.0.RELEASE/spring-insight-instance/webapps/insight/WEB-INF/lib/insight-repo-1.8.3.RELEASE.jar!/com/springsource/insight/repo/app-config-gemfire.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: The following required files could not be found: *.crf files with these ids: [1], *.drf files with these ids: [1]. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:398) at org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:275) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.detectPersistenceExceptionTranslators(PersistenceExceptionTranslationInterceptor.java:139) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.<init>(PersistenceExceptionTranslationInterceptor.java:79) at org.springframework.dao.annotation.PersistenceExceptionTranslationAdvisor.<init>(PersistenceExceptionTranslationAdvisor.java:70) at org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor.setBeanFactory(PersistenceExceptionTranslationPostProcessor.java:99) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods(AbstractAutowireCapableBeanFactory.java:1439) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1408) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) ... 24 more Caused by: java.lang.IllegalStateException: The following required files could not be found: *.crf files with these ids: [1], *.drf files with these ids: [1]. at com.gemstone.gemfire.internal.cache.DiskInitFile.verifyOplogs(DiskInitFile.java:619) at com.gemstone.gemfire.internal.cache.DiskStoreImpl.loadFiles(DiskStoreImpl.java:1926) at com.gemstone.gemfire.internal.cache.DiskStoreImpl.<init>(DiskStoreImpl.java:326) at com.gemstone.gemfire.internal.cache.DiskStoreImpl.<init>(DiskStoreImpl.java:251) at com.gemstone.gemfire.internal.cache.DiskStoreImpl.<init>(DiskStoreImpl.java:248) at com.gemstone.gemfire.internal.cache.DiskStoreFactoryImpl.create(DiskStoreFactoryImpl.java:111) at com.gemstone.gemfire.internal.cache.xmlcache.CacheCreation.create(CacheCreation.java:323) at com.gemstone.gemfire.internal.cache.xmlcache.CacheXmlParser.create(CacheXmlParser.java:222) at com.gemstone.gemfire.internal.cache.GemFireCacheImpl.loadCacheXml(GemFireCacheImpl.java:3029) at org.springframework.data.gemfire.CacheFactoryBean.afterPropertiesSet(CacheFactoryBean.java:104) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) at org.springfram ework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) ... 39 more 5 26, 2012 12:30:55 午後 org.apache.catalina.core.StandardContext startInternal 重大: Error listenerStart 5 26, 2012 12:30:55 午後 org.apache.catalina.core.StandardContext startInternal 重大: 以前のエラーのためにコンテキストの起動が失敗しました [/insight]
この状態でも、http://localhost:8080/ にアクセスするとtc ServerのWebページが表示されるので、サーバは起動しているようですが、何か気持ちが悪いので調べてみました。
同じような問題で悩んでいる人を見つけました。
http://forum.springsource.org/showthread.php?125133
まさに、この人と同じくWindows7 64bit版で"C:\springsource"にインストールしていましたので、ビンゴ!!って思ったけど、
でも、回答が「質問をInsight forumに移したよ。Insight関連の質問に見えたので。」って。。。Insight forumって何???どこ???
よくわからんけど、その後色々と探して、別のエラーが出ている人でどうやらサーバを削除して作り直せば直った的な情報があったので、試してみることに。
サーバの削除
Serversペインで「VMWare vFabric tc Server Developper Edition」を右クリックでコンテキストメニューを開き、[delete]メニューを選択。
「Delete unused server configratioin(s)」にチェックして[OK]ボタンを押下。
サーバの追加
Serverペインの「new server wizard...」をクリック。
そのまま[Next>]ボタン押下。
ここでもそのまま[Next>]ボタン押下。
[name]に「loccalhost」と入力し、[Templates]は良くわからないけど、とりあえず「base」「bio」「bio-ssl」にチェックをつけてみた。
[Finish]ボタン押下。
動作確認
何度かtc Serverを起動してみたけど、エラーは出ていない様子。
それにしても、起動がえらく早くなったなぁ。「Templates」に3つしかチェックしなかったからかなぁ。
大丈夫かなぁ。まぁ、気にしないでおこうっと。
※続報
Spring Insightっていう機能があるみたいです。プロファイラのようなもののよう。
で、Templatesの中にもInsightっていうテンプレートがあって、これにチェックをつけてサーバを作ると、上記のエラーが再現しました。
なので、やはりInsight関連の問題のようです。