Sending cLog entries into a database from Talend Runtime - log4j2

I'm configuring Talend ESB (OpenSource) and I want to be able to redirect the logging, such as from the Camel Log components etc., to a database.
I've tried editing the org.ops4j.pax.logging.cfg file to add a JDBCAppender, but when karaf imports this file I get a message "Unable to invoke factory method in class class org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender for element JDBC... No factory method found for class org.apache.logging.jog4j.core.appender.db.jdbc.JdbcAppender"
Is this likely to be because the right appender classes aren't registered in Karaf, in which case can someone point me where I can find the feature/bundle I need, or is there something more subtle going on that I am missing?
Thanks!

Note: this is to find your bundle and to install it in karaf
feature:list|grep -i camel
above command shows you which jdbc compenets aren't installed yet and you can install them in karaf using feature:install camel-jdbc try this.

Related

perfino agent is not logging to a file even when i use the logfile directive

I do something like this
-javaagent:/usr/local/lib/perfino/perfino.jar=server=ybperfino,name=${HSTNAMESHORT}-${APPNAME},group=${YBENV}/${HSTNAMESHORT},logMBean=10,logFile=${LOG_DIR}/perfinologs/${HSTNAMESHORT}-${APPNAME}.log
basically I want the log files to be created in the log directory for the app not the home directory for the userid
but it seems like the log file isn't being created either with logfile argument or with out !
using java11 if that makes any difference.
Found the answer - I had a competing java agent that was loading before it.
After I changed the order both java agents worked.

How to read in other config information into a dropwizard service

I am building a dropwizard service which will connect to multiple data sources including mySQL and Elasticsearch. All the mySQL settings can be defined in the yaml config file which gets read in after running from the commandline.
But what about other settings that I need to read in for other data sources that I will connect with myself, for example Elasticsearch? Where can I define those settings?
I thought I could add another commandline Command - which I tried, but I can only run a single command (from the commandline) at a time - so I can't seem to run both the 'server' command as well as my custom command, 'custom' which is followed by the my own config file for elasticsearch.
How can I introduce settings either individually or from a file - which are defined at run time (not hard coded)?
Thanks
Anton
Check out the Dropwizard Core documentation on adding custom configuration.
You'd create an ElasticSearchFactory class similar to the MessageQueueFactory in the example, reference this in your Configuration (that's in turn referenced in your Application), and then the options you need can be added to your main yaml configuration.

Grails/aNimble on Windows : Getting cannot find the specified path

I am trying to setup aNimble on Windows following this article.
I have setup the Java and MySQL (xampp) on Windows and both are working properly.
Now, as the final step I need to execute
grails prod execute-database-scripts-all
but I am getting cannot find the specified path. Even when I type grails only I get the same error. I have zero experience in Grails, but it seems that I need to install Grails first on the PC. Until I do this, I want to know is there anything else that I need to do this to successfully execute this command.
What are the three portions of this command grails, prod and execute-database-scripts-all
This error means that Windows is unable to find grails executable anywhere it looks (in any paths specified in PATH system property) when you typing grails command. You may have to follow this guide in order to install grails application framework properly in your system (also, make sure you are installing a correct version of grails compatible with your distribution of aNimble) and then retry.
Grails is a web application framework and which provides a set of tools to develop, build and run web applications like aNimble, prod is a command line option for grails telling it to run in a production mode and execute-database-scripts-all is aNimble-specific command to initialize it's database.

Setup Grails in GGTS 3.4 behind Proxy

I wish to share the knowledge that how I fix the proxy problem to setup GGTS in my company's PC after I run the setup.exe of GGTS 3.4 downloaded from SpringSource (by googling for a whole day around www ;))
Problem:
When I start to build my hello world project after the IDE installation, GGTS prompts me this error message: "Error Failed to resolve dependencies". How to fix it?
I'll answer my own question:
Go to IE and find the proxy url from the specific proxy file (in Internet
Connection Settings), or just ask your firm's support guys.
Go to your grails' bin folder and run this:
grails add-proxy client "--host=your.proxy.com" "--port=xxxx" "–noproxy='localhost'"
It will give you a line of feedback like: "Added proxy client to \\path.grails\ProxySettings.groovy". Now you should open the file, check the url, port, username & password, and also make sure it contains a second line like this:
currentProxy='client'
There is an article suggesting changing a string in the first line of the ProxySettings.groovy from http.proxyUser to http.proxyUserName. In my own case the proxy doesn't require un/pw so not sure if it is vital or not (source: http://web.archive.org/web/20130910035021/http://jira.grails.org/browse/GRAILS-10097)
Now right click the project in GGTS, Grail Tools > Refresh Dependencies, or just re-create the hello world project. Huray!
ender's answer is fine when you have already run the project at least once, but recently I had a situation where I checked out my project from git on a computer behind a proxy, and I couldn't do "grails add-proxy" because I was behind a proxy and it couldn't get grails dependencies from repos :)
in that case, the solution is to do System.setProperty("http.proxyHost", yourProxy)
in BuildConfig.groovy like this:
grails.project.dependency.resolution = {
System.setProperty("http.proxyHost", yourProxy);
System.setProperty("http.proxyPort", yourProxyPort);
...
}
If you are running GGTS first time behind your company proxy you might get this Error:
Solution:
Go to C:\Users\[your username]\.grails folder, Add a folder name called ProxySettings.groovy.
Expected
Open ProxySettings.groovy file with notepad and add these Two following line:
client=['http.proxyHost':'Proxy Host Address', 'http.proxyPort':'port Number', 'http.proxyUser':'username', 'http.proxyPassword':'password']
currentProxy='client'
Note: Don't Remove single quote.
Final: For Me The content inside file look like Below:
client=['http.proxyHost':'192.150.1.1', 'http.proxyPort':'80', 'http.proxyUser':'Vineet', 'http.proxyPassword':'GoGetHigh']
currentProxy='client'
Edit File ProxySettings.groovy in windows User directory
C:\Users\YourUser
client=['http.proxyHost':'proxy host address', 'http.proxyPort':'proxy host port', 'http.proxyUser':'', 'http.proxyPassword':'']
currentProxy='client'
grails add-proxy client "--host=your.proxy.com" "--port=xxxx" "–noproxy='localhost'"
grails set-proxy client
Then replace maven with ivy in your project's BuildConfig.groovy.
Here is how I fixed the problem for myself for Grails version 2:
Go to C:\Users\\[your username]\\.grails folder, make a file called ProxySettings.groovy.
Inside that ProxySettings.groovy file, add the following two lines:
client=['http.proxyHost':'the proxy host', 'http.proxyPort':'the port number', 'http.proxyUser':'username', 'http.proxyPassword':'password']
currentProxy='client'
For example you can have something like this in the file:
client=['http.proxyHost':'1.1.1.1', 'http.proxyPort':'8080', 'http.proxyUser':'batman', 'http.proxyPassword':'superman']
currentProxy='client'
This does the trick for me and hope this will help you too.

symfony plugin installation failing [bhLDAPAuthPlugin]

I'm working on a symfony project and I need a user access conected to an LDAP server. So I searched for something already done to add to my app and found this plugin that has all I wanted.
So I tried to install with the command $ php symfony plugin:install bhLDAPAuthPlugin
for some reason it throws me this error:
No release avaiable for plugin "bhLDAPAuthPlugin"
I don't really understand what that message means. I've checked the spell of the command (also copied the command given in the page of the plugin) and same error appears. If I had no all requeriments for instalation, other errors would be thrown, right?
PS: If you know some easy way to implement by myself the comunication with LDAP (Microsoft Active Directory) will also be appreciated.
No exactly sure how to solve the error message, perhaps it helps is specifically specify which version you wish to install.
Otherwise there's an easy workaround:
Just download the tgz file from here:
http://www.symfony-project.org/plugins/bhLDAPAuthPlugin/6_0_0
and do
php symfony plugin:install bhLDAPAuthPlugin-etc-etc.tgz

Resources