我正在尝试配置Flume(Cloudera CDH-5.11.0中的1.6)代理,以使用IBM WebSphere MQ 9.1.1.0作为源。
由于没有官方留档,我遵循了这些资源(尽管它们来自旧版本):
我以这种方式进行:
>
安装MQ9.1.1.0客户端并配置JMSAdmin.conf
INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextWorksPROVIDER_URL=file:/C:/temp/jmsbindingsSECURITY_AUTHENTICATION=无
创建了 .bindings 文件:
test_IBM_MQ.sources.amq_ibm.type = jms test_IBM_MQ.sources.amq_ibm.initialContextFactory = com.sun.jndi.fscontext.RefFSContextFactory test_IBM_MQ.sources.amq_ibm.connectionFactory=flumeConnectionFactory test_IBM_MQ.sources.amq_ibm.providerURL = file:///etc/flume/conf test_IBM_MQ.sources.amq_ibm.destinationName = myDestination test_IBM_MQ.sources.amq_ibm.destinationType = QUEUE
当我最终启动我的Flume代理时,我得到了这个错误:
Java . lang . classcastexception:javax . naming . reference不能转换为javax.jms.ConnectionFactory
接着是这个小小的Stacktrace
由于配置java.lang.ClassCastException:javax.naming.Reference无法强制转换为org.apache.flume.Source.jms.JMSSource.doConfigure(JMSSources.java:231)上的javax.jms.ConnectionFactory,org.apacche.flume.Source.BasicSourceSemantics.configure(BasicSourceSe曼tics.java:65),org.apache.flame.Source.AbstractPollableSource.configure(AbstractPollableSource.java:65)位于org.apache.flume.conf.Configurables.configure(Configurables.java:41),位于org.aapache.flume.node.AbstractConfigurationProvider.loadSources(Abstract配置提供程序.java:326),位于org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(pollingProperties FileConfiguration Provider.java:141),位于java.util.concurrent.Executors$RunnableAdapter.call(Executtors.java:511),位于java.util.concurrent_FutureTask.runAndReset(FutureTask.java:308),位于java。util.consurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180),位于java.util.concurrent.ScheduledThreadPool Executor$Scheduled FutureTask.run(SchededThreadPoOLExecuttor.java:294),位于java.util.concurrent。ThreadPooleExecutori.runWorker(ThreadPoulExecutory.java:1142),位于java
检查水槽源,爆炸线如下
connectionFactory = (ConnectionFactory) initialContext.lookup(connectionFactoryName);
我试图回答这个古老的相关问题
但是,建议加载的一些jar不再存在,因为从IBMmq v8升级到jms2.0:
我开始怀疑这是Flume 1.6不喜欢JMS2.0的地方
有什么帮助吗?谢谢
我不是专家但是:
test_IBM_MQ.sources.amq_ibm.connectionFactory=flumeConnectionFactory
我相信该参数需要一个QueueConntionWorks(QCF)。
删除“CF”并将QCF添加到MQ JDNI:
DEF QCF(flumeConnectionFactory) QMGR(myQueueManager) HOSTNAME(myHostName) PORT(1414) CHANNEL(myChannelName) TRANSPORT(CLIENT)
另外,MQ JNDI(“.bindings”)文件所在的位置是吗?
test_IBM_MQ.sources.amq_ibm.providerURL = file:///etc/flume/conf
根据您上面提到的“PROVIDER_URL”参数,我认为应该是:
test_IBM_MQ.sources.amq_ibm.providerURL = file:/C:/temp/jmsbindings
请帮我把这个移开。下面是我的代码: 这是我从php文件中得到的json
我是log4j的新手。我正在将一个应用程序从log4j1.2转换为log4j2。在log4j中。我发现的属性文件有以下配置。 如何将此配置转换为log4j2配置? 谢谢
这些是我的蒙德尔人: 而且 我的类中有这个方法: 在(扩展以前的)中使用: 在此的另一点中,我有: 但这给了我: 线程“JavaFX Application thread”java.lang.ClassCastException:类Models.Accomodation不能强制转换为类Models.Intraction(Models.Accomodation和Models.Intraction在C
我的代码有一个错误。 我的适配器类: 我的班级:
问题内容: Java中的所有数字都应为int类型。以下行在Java> 1.5中是合法的 同样的机制去和实例。但是龙的作品完全不同。以下代码给出了编译时错误 Long对长类型使用自动装箱方法,因此 我看不到为什么不能将int赋给Long变量。关于这个问题有什么想法吗? 问题答案: 我认为问题不在于泛型转换原语和包装。问题是关于将int转换为java.lang.Long和将int转换为java.lan