Доступ к файлу в методе @onMessage класса @ServerEndPoint
Я разработал Java-проект, который развертывается как пакет OSGI Felix. Этот проект содержит 2 пакета: - первый пакет содержит только класс (CLASS_1), который должен записывать / читать некоторые сообщения в / из файла; - второй пакет содержит 2 класса: webSocketServer (@ServerEndPoint), который содержит метод @onMessage (а также все другие обязательные методы) и другой класс для регистрации веб-сокета.
В методе @OnMessage, представленном во втором пакете, я бы вызвал метод, присутствующий в первом пакете, для хранения приходящих сообщений.
Веб-сокет работает правильно, если я не использую метод CLASS_1. Но когда я его использую, во время выполнения (когда приходит одно сообщение) у меня появляется ClassNotFoundException для этого класса (CLASS_1). Я не знаю в чем проблема. Может быть, чего-то не хватает в файле pom.xml? (Я использую Maven)
Кто-нибудь может мне помочь?
заранее спасибо
1 ответ
Вам необходимо использовать сервисно-компонентную архитектуру OSGi Compendium. В вашей ситуации CLASS_1 должен публиковать свой сервис, который будет использоваться из других ваших пакетов (через интерфейс), а также вам нужно определить классы компонентов, чтобы внедрить ваши сервисы и использовать их.
Существуют различные библиотеки для реализации архитектуры сервисных компонентов, такие как apache.felix.scr, apache blueprint, aQute и т. Д. Я бы порекомендовал вам тщательно изучить каждую из них и решить, какая из них лучше всего подходит для вашего проекта.