Hi Folks, I am new to flume. I wanted to check if anyone has connected an IBM MQ to the JMS Source in Flume. I quickly configured flume with an agent similar to the following, but it throws me a class not found exception as shown below. I'm sure I am doing something stupid.
a1.sources = r1 a1.channels = c1 a1.sinks = k1 #Source Definition a1.sources.r1.type = jms a1.sources.r1.initialContextFactory = com.ibm.mq.jms.context.WMQInitialContextFactory a1.sources.r1.connectionFactory = com.ibm.mq.jms.MQQueueConnectionFactory a1.sources.r1.providerURL = tcp://<ipAddress>:<port> a1.sources.r1.destinationName = QA.TEST.NAME a1.sources.r1.destinationType = Topic # Describe the sink a1.sinks.k1.type = logger # Use a channel which buffers events in memory a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 # Bind the source and sink to the channel a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1 14/12/19 11:52:31 INFO node.PollingPropertiesFileConfigurationProvider: Configuration provider starting 14/12/19 11:52:31 INFO node.PollingPropertiesFileConfigurationProvider: Reloading configuration file:./flume-conf/flume-test.conf 14/12/19 11:52:31 INFO conf.FlumeConfiguration: Added sinks: k1 Agent: a1 14/12/19 11:52:31 INFO conf.FlumeConfiguration: Processing:k1 14/12/19 11:52:31 INFO conf.FlumeConfiguration: Processing:k1 14/12/19 11:52:31 INFO conf.FlumeConfiguration: Post-validation flume configuration contains configuration for agents: [a1] 14/12/19 11:52:31 INFO node.AbstractConfigurationProvider: Creating channels 14/12/19 11:52:31 INFO channel.DefaultChannelFactory: Creating instance of channel c1 type memory 14/12/19 11:52:31 INFO node.AbstractConfigurationProvider: Created channel c1 14/12/19 11:52:31 INFO source.DefaultSourceFactory: Creating instance of source r1, type jms 14/12/19 11:52:31 ERROR node.PollingPropertiesFileConfigurationProvider: Failed to start agent because dependencies were not found in classpath. Error follows. java.lang.NoClassDefFoundError: javax/jms/JMSException at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:190) at org.apache.flume.source.DefaultSourceFactory.getClass(DefaultSourceFactory.java:65) at org.apache.flume.source.DefaultSourceFactory.create(DefaultSourceFactory.java:40) at org.apache.flume.node.AbstractConfigurationProvider.loadSources(AbstractConfigurationProvider.java:322) at org.apache.flume.node.AbstractConfigurationProvider.getConfiguration(AbstractConfigurationProvider.java:97) at org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(PollingPropertiesFileConfigurationProvider.java:140) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: javax.jms.JMSException at java.net.URLClassLoader$1.run(URLClassLoader.java:366) -- Sincerely, Darshan
