Существует ли хорошая легкая платформа для Java, который обеспечивает публиковать/подписывать шаблон?
Некоторые идеальные функции
Я знаю о JMS, но это - излишество для моей потребности. Публиковать/подписывать данные являются результатом сканирований файловой системы, при этом результаты сканирования питаются к другому компоненту для обработки, которые затем обрабатываются прежде чем быть питаемым другому и так далее.
Править: Все в рамках того же процесса. PropertyChangeListener от бобов не вполне сокращает его, так как это сообщает об изменениях относительно свойств, вместо того, чтобы публиковать определенные объекты. Я мог рожок для обуви ProprtyChangeListener для работы при наличии "последнего опубликованного объекта" свойства, и таким образом, опубликованные объекты. PropertyChangeListeners не поддерживают дженериков и укреплены в семантике изменения свойства, а не чистый публикуют/подписывают. java.util шаблон Наблюдателя / Заметный шаблон были бы хороши, но Oberver является реальным классом.
JMS может быть настолько легким или тяжелым, насколько вы его настраиваете. Мы используем, например, HornetQ в одном проекте с очередью в памяти. Он прост в настройке, не требует конфигурации на основе JNDI и действительно прост в использовании.
Я считаю, что JMS как API для Message Pub / Sub настолько проста, насколько это возможно. (И не проще;)
Поскольку вы используете Spring, я не знаю, знаете ли вы, что Spring имеет собственную облегченную структуру событий . Он используется в основном внутри самого фреймворка, но его прекрасно может использовать код приложения.
По умолчанию это синхронный pub / sub, но вы можете сделать его асинхронным, используя ApplicationEventMulticaster
.
Если вы пересекаете границы процессов, то возникает определенный "вес". Почему вы говорите, что JMS имеет большой вес? API довольно прост? Существуют предположительно легковесные реализации, например текст ссылки Более тяжелые затраты, такие как персистентность и транзакционность, являются необязательными.
Что вам нужно, что легче этого?