我有一个arquillian测试类,在jar存档中有一些ejb。
测试与上的本地kafka群集交互localhost:9092. 被测试的ejb是kafka消息消费者。
在测试运行之前,我想通过运行startup()方法初始化kafka集群。这应该独立于测试档案进行。
但是,显然arquillian需要kafka集群中使用的所有类都在部署档案中。这表现为以下异常。
Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.server.NIOServerCnxnFactory from [Module "deployment.test.war:main" from Service Module Loader]
这是不可取的,所以我正在寻找一种方法来启动kafkacluster,而不必添加集群的整个类路径。
我尝试添加@beforeclass方法,然后集群就可以正常启动了,但是测试需要sasl身份验证。
注意:当我第一次在单独的main()中运行kafkacluster,然后运行测试时,一切正常。所以基本上我需要一个arquillian测试的启动钩子。
暂无答案!
目前还没有任何答案,快来回答吧!