JMS Connection failed

Greetings,

I find the following error in the full.log in the location /opt/webmethods95/MWS/server/default/logs.

2017-09-06 10:45:13.261 WEST (MonitorAPI [com.webmethods.optimize.management.Mapi] : ERROR) - MapiCommunicator object not created. JMS connection configuration is invalid or the JMS provider (broker) is down
.
2017-09-06 10:45:13.261 WEST (Framework : FATAL) - JMS Connection failed
java.lang.RuntimeException: JMS Connection failed
at com.webmethods.optimize.management.Mapi.init(Mapi.java:179)
at com.webmethods.optimize.management.Mapi.(Mapi.java:79)
at com.webmethods.portal.service.task.impl.TaskMonitoringService.getMapi(TaskMonitoringService.java:428)
at com.webmethods.portal.service.task.impl.TaskMonitoringService.run(TaskMonitoringService.java:402)
at java.lang.Thread.run(Thread.java:724)
2017-09-06 10:46:13.267 WEST (MonitorAPI [com.webmethods.common.mapi.jms.MapiCommunicator] : ERROR) - Cannot obtain JMS Connection
javax.jms.JMSException: Could not lookup jms connection factory
at com.webmethods.common.mapi.jms.ConnectionUtil.getConnection(ConnectionUtil.java:125)
at com.webmethods.common.mapi.jms.MapiCommunicator.isConnectionValid(MapiCommunicator.java:550)
at com.webmethods.optimize.management.Mapi.init(Mapi.java:178)
at com.webmethods.optimize.management.Mapi.(Mapi.java:79)
at com.webmethods.portal.service.task.impl.TaskMonitoringService.getMapi(TaskMonitoringService.java:428)
at com.webmethods.portal.service.task.impl.TaskMonitoringService.run(TaskMonitoringService.java:402)
at java.lang.Thread.run(Thread.java:724)

There seems to be no visible consequence of this error but I don’t understand why this is happening in the first place.

What can be going wrong?
After some research I see that I should be accessing to Optimize but this is what I get when I try to acess to it:

Object Not Found (WmOptimize/)

Best Regards,

Ana Sequeira

Hi Ana,

please check your environment setup.

On IS there should be a package WmOptimize, which has a config for AnalyticEngine and Messaging Provider.
On MWS after defining the database connection(s) and the Environment this Environment needs to be deployed to AnalyticEngine and WS DataCollector.

Restart the engines afterwards.

Regards,
Holger

I believe that WmOptimize is not installed since it doesnt seem to exist at all in my IS.

I need to install it in order to solve this error?

Hi Ana,

yes, package needs to be installed.
At least if you plan to use Optimize for Infrastructure.

For Optimize for Process I am not sure.

What is your Fix Level for Optimize?

Regards,
Holger

Hi Holger,

does the image attached answer your question?
That image was the one installed and it wasn’t installed any fixes after that one.

I am not sure if I can say the fix level is 9.5.1.0.93

Hi Ana,

was the Package “Optimize Support” selected for Installation?
This one contains the WmOptimize package (beneath others) which are used to send data to Optimize.

Can you provide a screenshot of the output of http://host:port/WmRoot/updates.dsp please?

I would recommend to apply the latest fixes to your installations.

Regards,
Holger

I attached the screenshot

Hi Ana,

the packages are installed.

Can you check if the Analytic Engine has created the clients on the Broker?

Regards,
Holger

Hello Holger,

I am checking the clients.

I am not sure how to check if there are any that were created by the analytic engine.

I attached 2 images of the clients list.

Regards,


Hi Ana,

I cannot detect the clients specific to analytic engine/optimize.

Can you check the status of your Optimize Environment in MWS?
Administration → System Wide → System Information
Administration → System Wide → Define Environments

Regards,
Holger

Hi Holger,

I checked and I have nothing on my System Information page.
However I found out that the Optimize seems to not be deployed.

I attached the image of my “Define Environments” page.

Regards,
Ana Sequeira

Hello Holger,

When I try to deploy the optimize,
I get an error on the Configuration Agent wsdl.

How can can I fix/solve this issue?

“Error deploying logical server type “Analytic Engine v9.5.0.0” version “9.5.0.0” to host “eevee.icp.pt”
Deployment Error: could not bind to path: http://localhost.pt:15001/services/IRemoteConfiguration.wsdl

Regards,
Ana Sequeira

Hi Ana,

either the Analytic Engine is not started or it is using different ports (provided during installation).

You can chech this under /optimize/analytic/config/.
In one of the subdirectories there is a file named StationSettings.conf.
This is the file where the information is written to during deployment.
The engines need to be stopped and restarted after deployment to use the new settiings and create the neccessary Broker clients.

Regards,
Holger

I’ve googled this error without learning much. What does it mean? I’ve
checked that the server is running, etc.

Better code:

thufir@doge:~ thufir@doge:~ activemq status
INFO: Loading ‘/home/thufir/apache-activemq-5.11.1/bin/env’
INFO: Using java ‘/usr/lib/jvm/java-7-openjdk-amd64/bin/java’
ActiveMQ not running
thufir@doge:~ thufir@doge:~ activemq start
INFO: Loading ‘/home/thufir/apache-activemq-5.11.1/bin/env’
INFO: Using java ‘/usr/lib/jvm/java-7-openjdk-amd64/bin/java’
INFO: Starting - inspect logfiles specified in logging.properties and
log4j.properties to get details
INFO: pidfile created :
‘/home/thufir/apache-activemq-5.11.1/data/activemq.pid’ (pid ‘17530’)
thufir@doge:~ thufir@doge:~ activemq status
INFO: Loading ‘/home/thufir/apache-activemq-5.11.1/bin/env’
INFO: Using java ‘/usr/lib/jvm/java-7-openjdk-amd64/bin/java’
ActiveMQ is running (pid ‘17530’)
thufir@doge:~ thufir@doge:~ groovy IdeaProjects/groovy/src/hi.groovy
Caught: org.apache.activemq.ConnectionFailedException: The JMS
connection has failed: java.io.EOFException
org.apache.activemq.ConnectionFailedException: The JMS connection has
failed: java.io.EOFException
at
org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(ActiveMQConnection.java:1480)
at
org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:523)
at net.sf.gtools.jms.JmsCategory.connect(JmsCategory.groovy:64)
at GroovyJMSExample$_sendMessage_closure1.doCall(hi.groovy:22)
at GroovyJMSExample$_sendMessage_closure1.doCall(hi.groovy)
at GroovyJMSExample.sendMessage(hi.groovy:20)
at GroovyJMSExample.main(hi.groovy:32)
Caused by: java.io.EOFException
at
org.apache.activemq.openwire.v10.BaseDataStreamMarshaller.looseUnmarshalConstByteArray(BaseDataStreamMarshaller.java:602)
at
org.apache.activemq.openwire.v10.WireFormatInfoMarshaller.looseUnmarshal(WireFormatInfoMarshaller.java:130)
at
org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:373)
at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:285)
at
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:221)
at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:213)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
thufir@doge:~ thufir@doge:~ cat IdeaProjects/groovy/src/hi.groovy
@Grapes([
@Grab(group = ‘net.sf.gtools.jms’, module = ‘JmsCategory’,
version = ‘0.2’),
@Grab(group = ‘org.apache.activemq’, module = ‘activemq-all’,
version = ‘5.9.0’),
@Grab(group = “junit”, module = “junit”, version = “4.11”),
@Grab(group = ‘net.sf.gtools.jms’, module = ‘JmsCategory’,
version = ‘0.2’),
@Grab(group = ‘org.apache.activemq’, module = ‘activemq-all’,
version = ‘5.9.0’),
@Grab(group = “junit”, module = “junit”, version = “4.11”),
@Grab(group = ‘net.sf.gtools.jms’, module = ‘JmsCategory’,
version = ‘0.2’),
@Grab(group = ‘org.apache.activemq’, module = ‘activemq-all’,
version = ‘5.9.0’),
@Grab(group = “junit”, module = “junit”, version = “4.11”),
@Grab(group = ‘net.sf.gtools.jms’, module = ‘JmsCategory’,
version = ‘0.2’),
@Grab(group = ‘org.apache.activemq’, module = ‘activemq-all’,
version = ‘5.9.0’),
@Grab(group = “junit”, module = “junit”, version = “4.11”)
])
import net.sf.gtools.jms.JmsCategory
import org.apache.activemq.ActiveMQConnectionFactory

class GroovyJMSExample {
def static sendMessage() {
use(JmsCategory) {
def jms = new ActiveMQConnectionFactory(‘tcp://localhost:3700’)
jms.connect { c →
c.queue(“TEST-queue”) { q →
def msg = createTextMessage(“test”)
q.send(msg)
}
}
}
}

 static void main(String[] args) { 
     sendMessage() 
 } 

}
thufir@doge:~$

If u Have any doubts please visit: WebMethods Training | Online Course With Certification - Tekslate

Best Regards,
johny.