Mule deployment and config properties file - deployment

Our application deployed in mule server has credentials in properties file that are used to access Database and other cloud. We have to do some change in properties file. I would like to know whether this will require a redeployment of the running application or it would be sufficient to restart the application from mule managent console or a server restart may be required.
Any suggestion would greatly help.
Thank you in advance

I believe you can still control the applications from MMC, even when they are deployed using the $MULE_HOME/apps directory. You navigate to them through the "Servers" tab. Find the application under the server, and there is an option at the top right to "Stop" and "Start" the application. This should allow you to run with the new configuration values.

The simplest possible without restarting your Mule Server is to Redeploy the application from the Mule Management Console (Deployment tab).
Hope this helps.

Related

Adding wildfly jms subsystem with wildfly cli java api without reloading the server

So we need to provision (add the jms extension/subsystem/configurations to standalone.xml) the JMS subsystem in wildfly when starting the server if it's not already provisioned and that needs to happen automatically. We have an application written in java and we chose to provision the jms subsystem with wildfly's cli java api and that is executed when our application starts deploying. The thing is we need to provision the jms subsystem and use it in the same application.
Problem is, when we add the needed configurations in standalone.xml with wildfly's cli java api, the server requires a reload but we can't reload it because our app is already deploying, it tries to use the defined queues and fails because... Well, the subsystem is not active yet. On next server restart everything is ok but as you can guess in a production environment this is unacceptable. Is there any solution to this? I've tried adding a reload cli command in the end of the batch that creates the jms subsystem and it starts reloading the server but the deployment doesn't stop and exceptions start flying left and right.
Also the whole idea of reloading the server from the app while the app is deploying seems kinda wrong to me.
Thanks in advance.
Solution:
Well the solution in the end was an easy one, we just had to add a reload step in the batch operation that adds the jms subsystem. The problem was that we had a set of async operation that all fired off when the app was deployed so i just had to make sure none of them started until i can check for the messaging subsystem and reload wildfly if necessary. That way I'm not interrupting any async tasks forcefully.
You need to select appropriate profile i.e full or full-ha while starting server only. If you do this there will not be need to add JMS subsystem.
If you want to go with your approach only, add dependency of queue in
application. It will not start deploying until and unless queue is bound to server.
we need to perform reload operation when we add new subsystem, if you dont want to perform reload operation then I will suggest you to start server in 'admin-only' mode. When we start server in 'admin-only' mode then it open only management port(9990/9999). Configure messaging subsystem through CLI command reload server instance. Hope it helps..!!

Wildfly server configuration in eclipse(STS) for hot deployment

I am configuring Wildfly server in eclipse(STS). While configuring, I noticed the following option:
Server is externally managed. Assume server is started.
What does this option do ?
Does it impact capability of hot deployment of jsps etc.
Can someone also point to a location where all these options are described in detail for Wildfly server configuration in eclipse?
"The Server is externally managed. Assume server is started" field is used when the user wants to deploy the server but does not want the IDE to stop or start the server for them. Depending on the requirements, select this check box or leave it unchecked, as is default.
http://tools.jboss.org/documentation/howto/configure_remote_server.html

Logging in Talend ESB

We had a web service developed in Talend and deployed in TAC(Talend runtime). Service is working fine on the local system but not after the deployment.We had tried various methods to debug it like placing the logger component and putting logging mechanism in Java component of Talend but those messages are not populating in the log file.Please suggest.
Talend Enterprise 5.6 comes with log4j logging. (It can be enabled in the project settings.) Maybe open studio has this feature as well.
If you activate that and start the logserver (based on Kibana / Logstash) you could have a web interface that shows the log messages in real-time, across all the deploys you have.
We're using this approach for development and some production projects. It tells you all the SQL-s connection details, execution times, records fetched, etc..
In TAC you should see the same logs if you click on the magnifier button on the corresponding job on Job Conductor tab. In case if it's empty, check the log4j setting in File->Edit Project Properties->Log4J, and make sure that the default CONSOLE appender is enabled. Also try to build the project manually, and check the log4j.properties in the built zip file.
Finally check the log level at the job properties on TAC->Job Conductor, and make sure it set to the right level.

Application Can Not Be Deployed on Cloudhub

currently I am working with mule esb in cloud, to achieve this I am using free trial version of Cloudhub. FYI, I am new to cloudhub and right now tring to deploy my mule application there. Unfortunately, everytime I tried to deploy my application, it can not be deployed.
I have tried 2 ways to deploy the apps.
The first one is from the Mule Studio, by following this documentation:
Deploy Apps to Cloudhub From Mule Studio
When I tried that way, I got following error:
I guess it was because of the proxy.
The second way I tried is by deploying it directly from the cloudhub.io, by following this documentation:
Deploying Apps Directly From Cloudhub.io
But, when I check on the deployment section, I found out, that my application is not uploaded. Then I tried to upload it again, update it, and run the application, but it seems that the application still not uploaded and the change I made is not applied.
Here is the error I got:
FYI, before I upload the application to cloudhub, I compressed the application folder into zip file.
How can I solved this problem? Do you think I did something wrong when deploying it? Thanks in advance.
I too faced similar problem, when deploying application in cloud hub, using Mule 3.5. My application inserts Contacts info (FirstName, LastName, Title, Email etc) from CSV file in Salesforce "Contacts" object. With proxy details configured, my application was running fine in local machine but when deployed in cloud hub, I was getting "Unknown host Exception. Root exception in proxy (something similar to this) " exception.
What I did:
I have removed proxy details from Salesforce connector and re-compiled and deployed in cloud hub. When I tested, the contacts from csv file are getting inserted in Salesforce "Contacts" objects.
Note: When Proxy details are removed, it works in cloud hub but fails in local. It seems cloud hub takes care of proxy connection and we don't need to explicitly mention it.
Regards
Ravi Nori
Be sure that you configure your http endpoint like this:
<http:inbound-endpoint host="localhost" port="${http.port}".... />
CloudHub will automatically expand http.port property to the correct value.
To make it work deploying from CloudHub you shouldn't compress your project yourself and upload but make Studio create a deployable archive: Right click on your project and then click export, select 'Anypoint Studio Project to Mule Deployable Archive' under Mule category. That will have Mule ESB application structure and should work in CloudHub.
Check your http global endpoint is like that
or you can give in properties file like http.host=0.0.0.0 http.port=8081
these values you can give directly in cloudhub properties.
From flow you can access like ${http.host} , ${http.port}
First check that domain name is available

Can a deployed JBoss web application simply disappear?

A strange problem occurred yesterday on a production system which has been running fine for weeks on a JBoss 4.2.3 application server: the JAR file containing the web application was no longer in the deployment folder (so the clients could no longer access the application). The server is running on a Windows box.
There was no indication of undeployment in the server logs. Normally JBoss detects if somebody deletes (or moves) a deployed web application file and executes the standard undeployment procedure, so there would be a log entry in this case.
Other web applications on the same system continued to run fine, so it was only this JAR file which simply disappeared.
Has somebody seen a similar problem with web applications on JBoss?
I'd bet my shoes that's not possible to happen spontaneously.
Check your security settings - didn't you leave JMX console accessible? Etc.