When you install the features using the WSO2 management console it will copy the relevant jars to repository/components/plugins directory and will update the bundles.info file which is located in CARBON_HOME/repository/components/configuration/org.eclipse.equinox.simpleconfigurator/. There will not be changes to database with regard to this.
Day to day collection from work and self learning in QA, middleware, tech support spaces ..
Thursday, January 16, 2014
Tuesday, January 14, 2014
How to read properties file from custom UserStoreManager
Scenario :
You have developed a XUserStoreManager extending an inbuilt userstoremanager implemetation (i.e. ActiveDirectoryUserStoreManager).
You need to read some configuration files from a property file, which you do not want embed in the XUserStoreManager.jar which is deployed in <IS_HOME>/repository/components/dropins
What is the best approach:
1. You can put your custom properties in <IS_HOME>/repository/conf/user-mgt.xml inside your <CustomUserStoreManager> section as below.
<Property name="customProperty">customValue</Property>
2. Put properties withing your CustomUserStoreManager configuration section. Then you can access your properties as below as in [1]
i.e.
String patterns = realmConfig.getUserStoreProperty(LDAPConstants.USER_DN_PATTERN);
Applicable : WSO2IS-4.6.0
[1] - https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.0.0/core/org.wso2.carbon.user.core/4.0.2/src/main/java/org/wso2/carbon/user/core/ldap/ReadOnlyLDAPUserStoreManager.java
Monday, November 25, 2013
How to start CEP server without embedded cassandra
In case you need to start the CEP server without embedded Cassandra which makes is light weight CEP. You can do this, by starting the server with -Ddisable.cassandra.server.startup=true switch.
Eg:
Eg:
./wso2server.sh -Ddisable.cassandra.server.startup=true &
Thursday, July 25, 2013
useOriginalwsdl
I learnt a practical example on using 'useOriginalwsdl' parameters in an ESB proxy service which has a wsdl associated to it. Thanks Charitha - as this was by listening to how Charitha approached and handled an ESB issue.
Firstly, there is a proxy service which is associating a wsdl and we were to access an operation in it via soap-ui. This particular wsdl-operation has a soap header specified. Issue being addressed is that the soap header is not appearing in the soap-request that was generated by soap-ui.
What we were doing to generate this request was generating ?wsdl of the proxy and using it in soap-ui.
When analyzing this auto generated wsdl (?wsdl), we found out that some of the parameters in the original wsdl are not appearing in it. This is because at the auto generation process ESB recreates the wsdl treating it as part of the proxy.
But for us to avoid this and have the wsdl syntax as its original we could use the parameter 'useOriginalwsdl'. After this correction, when the ?wsdl was used in soap-ui project we were able to see the correct request.
So when creating a proxy with a wsdl associated, if we need to make sure original wsdl is available for message invocation, we need to set useOriginalwsdl=true.
Just now I read about enablePublishWSDLSafeMode parameter in ESb proxies from one of Prabath's blog posts. Will write about it after trying the scenario.
Firstly, there is a proxy service which is associating a wsdl and we were to access an operation in it via soap-ui. This particular wsdl-operation has a soap header specified. Issue being addressed is that the soap header is not appearing in the soap-request that was generated by soap-ui.
What we were doing to generate this request was generating ?wsdl of the proxy and using it in soap-ui.
When analyzing this auto generated wsdl (?wsdl), we found out that some of the parameters in the original wsdl are not appearing in it. This is because at the auto generation process ESB recreates the wsdl treating it as part of the proxy.
But for us to avoid this and have the wsdl syntax as its original we could use the parameter 'useOriginalwsdl'. After this correction, when the ?wsdl was used in soap-ui project we were able to see the correct request.
So when creating a proxy with a wsdl associated, if we need to make sure original wsdl is available for message invocation, we need to set useOriginalwsdl=true.
Just now I read about enablePublishWSDLSafeMode parameter in ESb proxies from one of Prabath's blog posts. Will write about it after trying the scenario.
Friday, July 19, 2013
Diagnosing if a bundle is not activated properly
Whe OSGI bundles fail to start, we should check the root cause using the OSGI commands.
- Start the server with OSGi console by using ;
- Once osgiConsole get started execute following command and see whether your bundle is in Active state.
- Execute the following command to see whether there are any unresolved dependencies for this bundle.
Saturday, July 6, 2013
When analyzing Thread Dumps
Thread States
Thread LC
http://bip.weizmann.ac.il/course/prog2/tutorial/essential/threads/lifecycle.html
Tool to analyse thread dumps: TDA
Some good guidelines:
http://nirmalfdo.blogspot.com/2013/05/how-to-find-culprit-when-cpu-starts-to.html
BLOCKED Thread state for a thread blocked waiting for a monitor lock. |
NEW Thread state for a thread which has not yet started. |
RUNNABLE Thread state for a runnable thread. |
TERMINATED Thread state for a terminated thread. |
TIMED_WAITING Thread state for a waiting thread with a specified waiting time. |
WAITING Thread state for a waiting thread. |
Thread LC
http://bip.weizmann.ac.il/course/prog2/tutorial/essential/threads/lifecycle.html
Tool to analyse thread dumps: TDA
Some good guidelines:
http://nirmalfdo.blogspot.com/2013/05/how-to-find-culprit-when-cpu-starts-to.html
Sunday, June 30, 2013
http_access logs
http_access logs files are prefixed with “http_access_”. These files include access information for the server. We can get the access information for webapps also from this. These logs rotates on daily basis.
In Carbon 4.0.* based products, you can disable http access logs by removing the following entry from catalina-server.xml which is located in $CARBON_HOME/repository/conf/tomcat.
<valve classname="org.apache.catalina.valves.AccessLogValve" directory="${carbon.home}/repository/logs" prefix="http_access_" suffix=".log" pattern="combined"/>
For the products which uses nhttp transport (Ex. WSO2 ESB) you also have to define the below entry in log4j.properties file.
log4j.logger.org.apache.synapse.transport.nhttp.Access=WARNlog4j.properties file is located in $CARBON_HOME/repository/conf/
Subscribe to:
Posts (Atom)
Featured
Selenium - Page Object Model and Action Methods
How we change this code to PageObjectModel and action classes. 1 2 3 driver . findElement ( By . id ( "userEmail" )). sendKeys (...
Popular Posts
-
These days I am involved in testing a migration tool which demands in testing the application's migration against several databases. In ...
-
Came across this error while executing an oracle script: ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDO' ORA...
-
Iterator mediator breaks a message from the given xpath pattern and produces smaller messages. If you need to collect an attribute value ...
-
In this scenario we will be monitoring requests and responses passed through a proxy service in WSO2 ESB. The proxy service is calling an in...