Не можете определить, почему фрагмент кода smallrye/camel не компилируется: нет метода подписчика в объектном контексте camel context?
В документации smallrye (из https://smallrye.io/smallrye-reactive-messaging/) приводится пример фрагмента кода, который у меня возникают при компиляции...
т.е.
10.4. Using Camel Route in @Incoming method
Here is an example of method annotated with @Incoming directly using a Camel route:
[...]
@Inject
private CamelContext camel; <<==
@Inject
private CamelReactiveStreamsService camel_reactive;
[...]
@Incoming("camel")
public Subscriber<String> sink() {
return camel.subscriber("file:./target?fileName=values.txt&fileExist=append", String.class);
}
- Кажется, что объект "верблюд" - то есть, как в "camel.subscriber" (см. Выше) - не имеет связанного с ним метода "подписчик" (?).
Ошибка компиляции выглядит так...
cannot find symbol
symbol: method subscriber(java.lang.String,java.lang.Class<java.lang.String>)
location: variable camel of type org.apache.camel.CamelContext
Я включил следующие зависимости в свой Maven pom.xml (сначала только первый, а затем добавил вторую в отчаянной попытке заставить этот примерный фрагмент работать - тоже попробовал версию 1.0.8)
<!-- camel support -->
<dependency>
<groupId>io.smallrye.reactive</groupId>
<artifactId>smallrye-reactive-messaging-camel</artifactId>
<version>1.0.7</version>
</dependency>
<!-- ampq -->
<dependency>
<groupId>io.smallrye.reactive</groupId>
<artifactId>smallrye-reactive-messaging-amqp</artifactId>
<version>1.0.7</version>
</dependency>
Вы надеялись, что кто-то, разбирающийся в реактивном обмене сообщениями camel и / или smallrye, обнаружит проблему, которая вызывает ошибку компиляции?
Спасибо!
1 ответ
Что ж, будучи новичком в smallrye и т. Д., Я стал жертвой дословного перевода документации. Но, похоже, "camel.subscriber" был ошибкой редактирования в документации. Должно было быть написано: "camel_reactive.subscriber".
Компилирует сейчас.