Я создал модель предметной области, используя spring-roo, которая интенсивно использует Spring и AspectJ. Моя модель прекрасно разворачивается как пакет OSGi, и из среды IDE Spring STS (на основе затмений) я могу вызывать классы сущностей и т. Д.
Мне нужно получить доступ к этим классам доменов из приложения Eclipse RCP / RAP, и этот проект я храню в обычной Eclipse IDE для разработки RCP / RAP (т. Е. В ней есть все инструменты PDE). Я также добавил плагины STS и AspectJ.
Я добавил свой домен в целевую платформу и сделал свое приложение Eclipse RAP зависимым от него. Когда я запускаю приложение RAP, я вижу, что мой комплект доменов развернут в OSGi (т.е. это ACTIVE). Я также вижу, что он существует в редакторе PDE, когда я добавил зависимость.
Однако, когда я пытаюсь импортировать и использовать любой из классов домена, я ничего не получаю. Я даже не вижу пакеты домена из моего редактора файлов Java.
Я пытался добавить AspectJ и Spring nature в мой RAP-проект, но ничего не вышло.
Кроме того, при запуске приложения Eclipse RAP все развертывается нормально, кроме приложения RAP, которое выдает следующее исключение:
2 марта 2010 г. 2:44:58 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
ИНФОРМАЦИЯ: Загрузка определений XML-bean-компонентов из URL-адреса [bundleentry: //168.fwk1096264275/META-INF/spring/applicationContext.xml]
Исключение в потоке "SpringOsgiExtenderThread-2" java.lang.IllegalStateException: BeanFactory не инициализирован или уже закрыт - вызовите функцию refresh перед доступом к bean-компонентам через ApplicationContext
в org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory (AbstractRefreshableApplicationContext.java:171)
в org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.close (DependencyWaiterApplicationContextExecutor.java:345)
в org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.fail (DependencyWaiterApplicationContextExecutor.java:401)
в org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne (DependencyWaiterApplicationContextExecutor.java:287)
в org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh (DependencyWaiterApplicationContextExecutor.java:175)
в org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh (AbstractDelegatedExecutionApplicationContext.java:175)
в org.springframework.osgi.extender.internal.activator.ContextLoaderListener $ 2.run (ContextLoaderListener.java:718)
at java.lang.Thread.run (Thread.java:637)
Любая помощь будет принята с благодарностью.