2016-01-30 3 views
0

У меня есть небольшой сервер, которому нужна простая консоль для ввода команд. После небольшого поиска я нашел пружинную оболочку, которая выполняет эту работу.Экземпляр объекта Autowire в командной строке весны?

Некоторые из моих команд нуждаются в доступе к экземпляру экземпляра сервера.

Как я могу (autowire?) Мой экземпляр объекта сервера в мою команду оболочки весны, чтобы я мог получить доступ к экземпляру объекта сервера в команде весенней оболочки?

Конструктор Bootstrap, похоже, создает контекст приложения и сразу же находит команды оболочки пользователя.

Я пытался использовать:

bootstrap.getApplicationContext().getBeanFactory().registerSingleton(class, myserverinstance) 

Но это может быть сделано только после того, как Bootstrap вызывается конструктор, а затем уже слишком поздно.

ответ

1

Я не уверен, что понимаю.

Прежде всего, это процесс Spring Shell в том же процессе, что и на вашем «сервере»?

Что касается проводов, пружинная оболочка ничем не отличается от любого другого приложения пружины. Я понимаю, что у вас уже есть экземпляр вашего «серверного» компонента. Лучше всего делать в этом случае является использование FactoryBean

Надежда, что помогает

+0

Я только реализованный ваше предложение, и это работает! Мне пришлось создать простой сингл java, который хранит мой экземпляр сервера, чтобы фабрика могла получить экземпляр сервера в методе getObject(). –

 Смежные вопросы

  • Нет связанных вопросов^_^