<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5348911724393337928</id><updated>2024-10-01T23:30:23.622-07:00</updated><category term="Java"/><category term="Weblogic"/><category term="Junit"/><category term="Oracle Database"/><category term="Apache mod_proxy_balancer"/><category term="Bootstrap"/><category term="Email"/><category term="Git"/><category term="GitHub"/><category term="Html5"/><category term="JPA 2.0"/><category term="Linux"/><category term="Load balancer"/><category term="Maven"/><category term="Mule ESB"/><category term="Oracle Dynamic SQL"/><category term="Oracle Golden Gate"/><category term="Oracle PL/SQL"/><category term="Oracle Parallel Job"/><category term="Oracle Replication data comparison"/><category term="SOA"/><category term="SQL"/><category term="SVN"/><category term="Selenium"/><category term="Spring framework"/><category term="Store procedure"/><category term="Web Testing"/><title type='text'>Simple is better</title><subtitle type='html'>Best blog site for Java, J2EE , Oracle, Mysql, Html5, Jquery, JavaScript Bigdata and other programming language.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-2863811405300572313</id><published>2017-09-20T15:35:00.004-07:00</published><updated>2017-09-20T15:38:28.749-07:00</updated><title type='text'>Monitor Oracle sequence</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In Oracle database, sequence is the way to generating unique key for records.&lt;br /&gt;
But there is max number limit till you can generate the key. You need to monitor sequence number growth rate. If it reach a threshold you need to do defragmentation in the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can run the below sql from monitoring tool or as a crontab script. It will show utilization percentage of the sequence.&lt;br /&gt;
&lt;pre class=&quot;brush:sql&quot;&gt; 

SELECT S.SEQUENCE_OWNER,
       S.SEQUENCE_NAME,    
       TO_CHAR( S.LAST_NUMBER,&#39;99999999999999999999&#39;)   CURRENT_VALUE, 
      TO_CHAR( (S.LAST_NUMBER +S.INCREMENT_BY),&#39;99999999999999999999&#39;)    NEXT_VALUE ,        
       TO_CHAR( S.MAX_VALUE,&#39;99999999999999999999&#39;)  MAX_VALUE ,
       TO_CHAR( S.MIN_VALUE,&#39;99999999999999999999&#39;)   MIN_VALUE,
       (S.MAX_VALUE - S.LAST_NUMBER) AS AVAILABLE_BAN,
     TRUNC(  (( S.LAST_NUMBER-S.MIN_VALUE)*100)/(S.MAX_VALUE- S.MIN_VALUE),2) 
|| &#39;%&#39; AS UTILIZATION  FROM DBA_SEQUENCES S
WHERE SEQUENCE_NAME IN (&#39;&#39;TEST_SEQ1&#39; ,&#39;TEST_SEQ2&#39;  )AND SEQUENCE_OWNER = &#39;TEST&#39; 
ORDER BY  
TRUNC(  (( S.LAST_NUMBER-S.MIN_VALUE)*100)/(S.MAX_VALUE- S.MIN_VALUE),2) DESC;



&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/2863811405300572313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2017/09/monitor-oracle-sequence.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/2863811405300572313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/2863811405300572313'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2017/09/monitor-oracle-sequence.html' title='Monitor Oracle sequence'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-5029569534235033923</id><published>2016-08-08T15:37:00.001-07:00</published><updated>2016-08-08T15:37:36.530-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Git"/><category scheme="http://www.blogger.com/atom/ns#" term="GitHub"/><title type='text'>Working with Github</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Github is most popular &amp;nbsp;free project hosting site. You can git repository and upload your project with following steps.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&amp;nbsp; Create Project repository in &amp;nbsp;in Github and copy the repository http URL&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy1sDVnlDc5ZQjgb53uMQYhlP6lECa36G1WY5dxzY2AQvkV_NTWteP7X_Yiw_i9RKpmPXLDjmekvAkXNc67Ig3m9RdOVQapCdqR3UXHVuilB5VLnrCYSLtl3rV1CjsPO3ZbLxtJ1SyFBAm/s1600/git-repo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;158&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy1sDVnlDc5ZQjgb53uMQYhlP6lECa36G1WY5dxzY2AQvkV_NTWteP7X_Yiw_i9RKpmPXLDjmekvAkXNc67Ig3m9RdOVQapCdqR3UXHVuilB5VLnrCYSLtl3rV1CjsPO3ZbLxtJ1SyFBAm/s320/git-repo.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp;Install git client in you local machine.&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp;Goto directory where you want to checkout &amp;nbsp;the code. Right click on directory and select &#39;Git Bash here&#39; from menu. It will open git bash console&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCvUIBxqD2tqHT9m0rwtbo22gX4o5yed-jIP_TjazP-uY0HCu-qnEaQzD0EQLzCQiWWm5bOdrgsJwAig6ANf6akQrjq7mU6MIm9Gge9qSzRzKZcUI9AQNcIwgWHeppsfIVdtfuD0zQFvE9/s1600/git-bash.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;193&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCvUIBxqD2tqHT9m0rwtbo22gX4o5yed-jIP_TjazP-uY0HCu-qnEaQzD0EQLzCQiWWm5bOdrgsJwAig6ANf6akQrjq7mU6MIm9Gge9qSzRzKZcUI9AQNcIwgWHeppsfIVdtfuD0zQFvE9/s320/git-bash.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;In git console run git clone command. &amp;nbsp; &lt;br /&gt;&lt;i&gt;$ git clone https://github.com/sujanctg2005/oracle.git &lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Change directory to &amp;nbsp;oracle &lt;br /&gt;&lt;i&gt; $ cd oracle/&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Check &amp;nbsp;git status&lt;br /&gt;&lt;i&gt;$ git status&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Modify the files you want to push in git hub&lt;/li&gt;
&lt;li&gt;Add modified files in local git repository&lt;br /&gt;&lt;i&gt;$ git add *&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Commit modified files in local git repository&lt;br /&gt;&lt;i&gt;$ git status &lt;br /&gt;$  git commit -m &#39;comments&#39;  *&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Now you can push modified files in git repository &lt;br /&gt;&lt;i&gt;$ git status &lt;br /&gt; $ git push https://github.com/sujanctg2005/oracle.git&lt;/i&gt;
&lt;br /&gt; This push command will prompt for Github user-name and password. You can verify the push just browsing  that git repository in online. 
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/5029569534235033923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2016/08/working-with-github.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/5029569534235033923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/5029569534235033923'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2016/08/working-with-github.html' title='Working with Github'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy1sDVnlDc5ZQjgb53uMQYhlP6lECa36G1WY5dxzY2AQvkV_NTWteP7X_Yiw_i9RKpmPXLDjmekvAkXNc67Ig3m9RdOVQapCdqR3UXHVuilB5VLnrCYSLtl3rV1CjsPO3ZbLxtJ1SyFBAm/s72-c/git-repo.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-5008014909351577743</id><published>2016-08-08T14:49:00.005-07:00</published><updated>2016-08-08T14:54:13.333-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Dynamic SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle PL/SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><title type='text'>Oracle Dynamic SQL </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
You can create SQL statement dynamically and make the script more generic to make it work with any table.&lt;br /&gt;
&lt;pre class=&quot;brush:sql&quot;&gt;  DECLARE
    TYPE COL_TYPE IS TABLE OF VARCHAR2(40);
    COL_NAME COL_TYPE;
    COL_DATA_TYPE COL_TYPE;
    TAB1_NAME VARCHAR2(30) :=&#39;A_USERS&#39;; 
  BEGIN
      SQL_STMT := &#39;SELECT COLUMN_NAME,DATA_TYPE FROM USER_TAB_COLUMNS WHERE TABLE_NAME = &#39;&#39;&#39;|| TAB1_NAME ||&#39;&#39;&#39;&#39;;
       EXECUTE IMMEDIATE SQL_STMT   BULK COLLECT INTO COL_NAME ,COL_DATA_TYPE;
  END;
 /
&lt;/pre&gt;
&lt;br /&gt;
Oracle &#39;EXECUTE IMMEDIATE&#39; will help you to run dynamic sql. If &amp;nbsp; sql command return data &amp;nbsp;you can store it in a variable. Above example, SQL statement will return &amp;nbsp;columns name and data type of a table and it will be store in COL_NAME ,COL_DATA_TYPE variable. You can access value from COL_NAME array in following way. &lt;br /&gt;
&lt;pre class=&quot;brush:sql&quot;&gt;FOR INDX IN 1 .. COL_NAME.COUNT 
   LOOP   
       DBMS_OUTPUT.PUT_LINE (&#39;COL_NAME: &#39; || COL_NAME(index));
  END LOOP;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Also if you can create separate code block and pass bind variable &amp;nbsp; P_REC and IN T_REC &amp;nbsp;value while executing the statement and output will be store in MISS_MATCH variable.&lt;br /&gt;
&lt;pre class=&quot;brush:sql&quot;&gt; 
 DECLARE
 P_REC  A_USERS%ROWTYPE;
  T_REC  A_USERS%ROWTYPE;
 BEGIN
               SQL_STMT :=  &#39;DECLARE 
                          P_REC  &#39;|| TAB1_NAME ||&#39;%ROWTYPE; 
                          T_REC  &#39;|| TAB2_NAME ||&#39;%ROWTYPE;  
                       BEGIN    P_REC := :P_REC;  T_REC := :T_REC;   
                       SELECT DECODE(P_REC.&#39; || COL_NAME(INDX) || &#39;,T_REC.&#39; || COL_NAME(INDX) || &#39;,0,1)
INTO :MISS_MATCH FROM DUAL;                       
        
           EXECUTE IMMEDIATE SQL_STMT USING IN  P_REC , IN T_REC , OUT MISS_MATCH;
  END;
/
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/5008014909351577743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2016/08/oracle-dynamic-sql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/5008014909351577743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/5008014909351577743'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2016/08/oracle-dynamic-sql.html' title='Oracle Dynamic SQL '/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-3484713845338420787</id><published>2016-08-08T11:50:00.003-07:00</published><updated>2016-08-08T14:58:52.803-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Golden Gate"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Parallel Job"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Replication data comparison"/><title type='text'>Replication data compare for oracle golden gate</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
For high availability &amp;nbsp;we need database replication, so during fail-over we can switch to standby database. Oracle golden gate provide data replication between data-centers. Replication is mainly depend on last updated time stamp. Oracle golden gate will check transaction time-stamp and replay it in another data-center. But sometime replication doesn&#39;t happen properly because of &amp;nbsp;application&#39; defect on updating time stamp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One or more applications can use same database and they may be locate in different time-zone. If one application is updating data using one time-zone in a active database and another application is updating data with different &amp;nbsp;time-zone in another database, &amp;nbsp;such case replication between these two database &amp;nbsp;will make database in-consistent state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find out data in-consistency we can compare one site data table with another site same table. For example &amp;nbsp;we have table name &#39;&lt;i&gt;customer&lt;/i&gt;&#39; in database and data is replicating for this table on two active database A and B . If we want to compare data for this table, we can export customer table from A and B into a new database schema, so data comparison job will not impact the running database.&lt;br /&gt;
&lt;br /&gt;
If the table contain only some configuration data, number of records might be less. But customer table can contain millions of record, therefore comparing data become very time consuming.&lt;br /&gt;
We can overcome this problem using oracle &#39;&lt;i&gt;DBMS_PARALLEL_EXECUTE&lt;/i&gt;&#39; package. This will allow you to logically split table using table &lt;i&gt;rowid &lt;/i&gt;and create job for each partition and run them parallel. You can partition table using different columns as well.&lt;br /&gt;
&lt;br /&gt;
Below snapshot is to create job using oracle &#39;&lt;i&gt;DBMS_PARALLEL_EXECUTE&lt;/i&gt;&#39; package.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:sql&quot;&gt; 
 DECLARE 
  TASK_NAME VARCHAR2(40) :=&#39;A_B_DATA_COMPARE&#39;;
  UPDATE_STATEMENT CONSTANT VARCHAR2 (200)
      :=  &#39;BEGIN DATA_COMP(:start_id, :end_id); END;&#39;;&lt;/pre&gt;
&lt;pre class=&quot;brush:sql&quot;&gt; BEGIN&lt;/pre&gt;
&lt;pre class=&quot;brush:sql&quot;&gt;         DBMS_PARALLEL_EXECUTE.CREATE_TASK (TASK_NAME);       
         DBMS_PARALLEL_EXECUTE.CREATE_CHUNKS_BY_ROWID (TASK_NAME =&amp;gt; TASK_NAME, TABLE_OWNER =&amp;gt; USER , TABLE_NAME =&amp;gt; TAB1_NAME , BY_ROW =&amp;gt; TRUE , CHUNK_SIZE =&amp;gt; 800000  );
         DBMS_PARALLEL_EXECUTE.RUN_TASK (TASK_NAME =&amp;gt; TASK_NAME , SQL_STMT =&amp;gt; C_UPDATE_STATEMENT  , LANGUAGE_FLAG =&amp;gt; DBMS_SQL.NATIVE  , PARALLEL_LEVEL =&amp;gt;64  );
       EXCEPTION
              WHEN OTHERS  THEN 
                  DBMS_OUTPUT.PUT_LINE(&#39;FAIL TO RUN  JOBS, ERROR CODE:&#39; ||SQLCODE);
                  RETURN;
 
    &lt;/pre&gt;
&lt;pre class=&quot;brush:sql&quot;&gt;         
 END;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
You can pass number concurrent jobs, partition size and more importantly which procedure or function it will call with start rowid and end rowid. &amp;nbsp;In the above example DBMS_PARALLEL_EXECUTE will partition customer table by rowid and each partition will contain 800000 record. Then it will call DATA_COMP procedure with a partition start rowid and end rowid. You can select record using rowid and loop through them using oracle cursor.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:sql&quot;&gt; 
      DECLARE 
   TASK_NAME VARCHAR2(40) :=&#39;A_B_DATA_COMPARE&#39;;
  UPDATE_STATEMENT CONSTANT VARCHAR2 (200)
      :=  &#39;BEGIN DATA_COMP(:start_id, :end_id); END;&#39;;
     BEGIN
         DBMS_PARALLEL_EXECUTE.CREATE_TASK (TASK_NAME);       
         DBMS_PARALLEL_EXECUTE.CREATE_CHUNKS_BY_ROWID (TASK_NAME =&amp;gt; TASK_NAME, TABLE_OWNER =&amp;gt; USER , TABLE_NAME =&amp;gt; TAB1_NAME , BY_ROW =&amp;gt; TRUE , CHUNK_SIZE =&amp;gt; 800000  );
         DBMS_PARALLEL_EXECUTE.RUN_TASK (TASK_NAME =&amp;gt; TASK_NAME , SQL_STMT =&amp;gt; C_UPDATE_STATEMENT  , LANGUAGE_FLAG =&amp;gt; DBMS_SQL.NATIVE  , PARALLEL_LEVEL =&amp;gt;64  );
       EXCEPTION
              WHEN OTHERS  THEN 
                  DBMS_OUTPUT.PUT_LINE(&#39;FAIL TO RUN  JOBS, ERROR CODE:&#39; ||SQLCODE);
                  RETURN;
       END;
    
    
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
This way you compare data more faster way, since it will parallel. &amp;nbsp; Inside the cursor loop you can pull record from another table using primary key and compare the record by each column of A and B database customer table.&lt;br /&gt;
&lt;br /&gt;
You can can get complete oracle &amp;nbsp;PL/SQL example in &lt;a href=&quot;https://github.com/sujanctg2005/oracle/tree/master/data-compare&quot;&gt;Github&lt;/a&gt;. I make the script dynamic, so only you need to pass compare &amp;nbsp;two tables &amp;nbsp;and report &amp;nbsp;table name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/3484713845338420787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2016/08/replication-data-compare-for-oracle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/3484713845338420787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/3484713845338420787'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2016/08/replication-data-compare-for-oracle.html' title='Replication data compare for oracle golden gate'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-7242472296274803009</id><published>2015-08-19T12:04:00.005-07:00</published><updated>2015-08-19T12:25:01.680-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache mod_proxy_balancer"/><category scheme="http://www.blogger.com/atom/ns#" term="Load balancer"/><title type='text'>Load balancer using Apache mod_proxy</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
First install Apache server. You can download it from &lt;a href=&quot;http://httpd.apache.org/&quot;&gt;http://httpd.apache.org/&lt;/a&gt;. For &amp;nbsp;this example &amp;nbsp;I have used&amp;nbsp;&amp;nbsp;httpd-2.2.25-win32-x86-openssl-0.9.8. You can get it from Apache archive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After &amp;nbsp;Apache&amp;nbsp;installation complete, you might need to change the port 80 to some other port e.g 8000 &amp;nbsp;if 80 port is block. You can change the port in httpd.conf file which located under &amp;nbsp; conf &amp;nbsp;folder.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;Listen 8000
&lt;/pre&gt;
&lt;br /&gt;
 
Bellow is an example how we can use mod_proxy_balancer to provide load balancing for three back-end server. You need to add following snippet at the bottom of the htttpd.conf. Then restart the server.&lt;br /&gt;
&lt;br /&gt;

&lt;pre class=&quot;brush:text&quot;&gt; 
&amp;lt;Proxy balancer://mycluster&amp;gt;
BalancerMember http://localhost:9001
BalancerMember http://10.83.57.247:7001
BalancerMember http://wabothdk0544042:7001
&amp;lt;/Proxy&amp;gt;
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/ 
&lt;/pre&gt;
 
&lt;br /&gt;
Now if you open the URL http://localhost:8000 in browser, request will be forward to one of the back-end server. You can test it by looking server logs.
 &lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/7242472296274803009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2015/08/load-balancer-using-apache-modproxy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/7242472296274803009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/7242472296274803009'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2015/08/load-balancer-using-apache-modproxy.html' title='Load balancer using Apache mod_proxy'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-7432762141508524384</id><published>2014-03-25T13:10:00.000-07:00</published><updated>2014-03-25T14:10:17.626-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Mule ESB"/><title type='text'>Create Proxy Service for secure web service call using Mule ESB</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Mule is open source Enterprise Service Bus. You can create proxy service of a web-service easily with mule. You can transform request and response payload using Mule XSLT transformation.&lt;br /&gt;
&lt;br /&gt;
Following figure is showing diagram of Mule proxy service and XSLT transformation.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqr_JBujwtyjzm2GBsYRJo8r2aEP9psMu6DtXvKWrXzDFG_PNMmbCwh3R2aCz_XlsdV4HXqHkazX522sbM2dpac340eD1HFBTSgR7jGg60fnNfGgkRklUjkou6G_hhDavcwIhL9-CL5069/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqr_JBujwtyjzm2GBsYRJo8r2aEP9psMu6DtXvKWrXzDFG_PNMmbCwh3R2aCz_XlsdV4HXqHkazX522sbM2dpac340eD1HFBTSgR7jGg60fnNfGgkRklUjkou6G_hhDavcwIhL9-CL5069/s1600/1.png&quot; height=&quot;208&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is configuration XML.&lt;/div&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;&lt;mule version=&quot;EE-3.4.1&quot; xmlns:cxf=&quot;http://www.mulesoft.org/schema/mule/cxf&quot; xmlns:doc=&quot;http://www.mulesoft.org/schema/mule/documentation&quot; xmlns:http=&quot;http://www.mulesoft.org/schema/mule/http&quot; xmlns:https=&quot;http://www.mulesoft.org/schema/mule/https&quot; xmlns:mulexml=&quot;http://www.mulesoft.org/schema/mule/xml&quot; xmlns:spring=&quot;http://www.springframework.org/schema/beans&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns=&quot;http://www.mulesoft.org/schema/mule/core&quot; xsi:schemalocation=&quot;http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/schema/mule/cxf/current/mule-cxf.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/https http://www.mulesoft.org/schema/mule/https/current/mule-https.xsd&quot;&gt;
 &lt;spring:beans&gt;
  &lt;spring:bean class=&quot;org.springframework.beans.factory.config.PropertyPlaceholderConfigurer&quot; id=&quot;property-placeholder-1&quot;&gt;
   &lt;spring:property name=&quot;location&quot; value=&quot;classpath:config.properties&quot;&gt;
  &lt;/spring:property&gt;&lt;/spring:bean&gt;
  &lt;spring:beans&gt;
   &lt;spring:bean class=&quot;lr.mule.security.PasswordCallback&quot; id=&quot;clientCallback&quot;&gt;
  &lt;/spring:bean&gt;&lt;/spring:beans&gt;

 &lt;/spring:beans&gt;

 &lt;flow doc:name=&quot;enterpriseentitlementservice.mflow&quot; name=&quot;enterpriseentitlementservice&quot;&gt;
  &lt;http:inbound-endpoint address=&quot;http://${http.host}:${http.port}/ess/EnterpriseEntitlementsService&quot; doc:name=&quot;HTTP&quot; exchange-pattern=&quot;request-response&quot; mimetype=&quot;text/xml&quot;&gt;
  &lt;cxf:proxy-service doc:name=&quot;ProxySOAP&quot; payload=&quot;body&quot;&gt;


  &lt;set-variable doc:name=&quot;operationname&quot; value=&quot;#[message.inboundProperties[&#39;SOAPAction&#39;] ]&quot; variablename=&quot;operationname&quot;&gt;
  &lt;set-property doc:name=&quot;Set SOAPAction&quot; propertyname=&quot;SOAPAction&quot; value=&quot;#[message.inboundProperties[&#39;SOAPAction&#39;] ]&quot;&gt;

  &lt;logger doc:name=&quot;Logger&quot; level=&quot;DEBUG&quot; message=&quot;SOAPAction #[message.inboundProperties[&#39;SOAPAction&#39;] ]   &amp;quot;getSubscribersInfo&amp;quot; &quot;&gt;

  &lt;cxf:proxy-client doc:name=&quot;ProxyClient&quot; enablemulesoapheaders=&quot;true&quot; payload=&quot;body&quot;&gt;

   &lt;cxf:ws-security&gt;
    &lt;cxf:ws-config&gt;
     &lt;cxf:property key=&quot;action&quot; value=&quot;UsernameToken 
    Timestamp&quot;&gt;
     &lt;cxf:property key=&quot;user&quot; value=&quot;rspsbui&quot;&gt;
     &lt;cxf:property key=&quot;passwordCallbackClass&quot; value=&quot;lr.mule.security.PasswordCallback&quot;&gt;
     &lt;cxf:property key=&quot;passwordType&quot; value=&quot;PasswordText&quot;&gt;
     &lt;cxf:property key=&quot;mustUnderstand&quot; value=&quot;true&quot;&gt;
    &lt;/cxf:property&gt;&lt;/cxf:property&gt;&lt;/cxf:property&gt;&lt;/cxf:property&gt;&lt;/cxf:property&gt;&lt;/cxf:ws-config&gt;
   &lt;/cxf:ws-security&gt;
   &lt;cxf:ininterceptors&gt;
    &lt;spring:bean class=&quot;org.apache.cxf.interceptor.LoggingInInterceptor&quot;&gt;
   &lt;/spring:bean&gt;&lt;/cxf:ininterceptors&gt;
   &lt;cxf:outinterceptors&gt;
    &lt;spring:bean class=&quot;org.apache.cxf.interceptor.LoggingOutInterceptor&quot;&gt;
   &lt;/spring:bean&gt;&lt;/cxf:outinterceptors&gt;
  &lt;/cxf:proxy-client&gt;

  &lt;!-- &lt;https:outbound-endpoint exchange-pattern=&quot;request-response&quot; address=&quot;https://tstesoa014.unix.gsm1900.org:6104/eProxy/service/PostPaidSubscriberService_SOAP_V1&quot; 
   doc:name=&quot;HTTP&quot; method=&quot;POST&quot; responseTimeout=&quot;90000&quot; /&gt; --&gt;


  &lt;https:outbound-endpoint address=&quot;https://qatoes002.unix.gsm1900.org:8201/ess/EnterpriseEntitlementsService&quot; doc:name=&quot;HTTP&quot; exchange-pattern=&quot;request-response&quot; method=&quot;POST&quot; responsetimeout=&quot;${timeout}&quot;&gt;



  &lt;choice doc:name=&quot;Choice&quot;&gt;
   &lt;when expression=&quot;#[flowVars.operationname == &#39;&amp;quot;getUserProfilesandPermissions&amp;quot;&#39;]&quot;&gt;
    &lt;processor-chain doc:name=&quot;getUserProfilesandPermissions&quot;&gt;
     &lt;mulexml:xslt-transformer doc:name=&quot;Response-XSLT-Transformation&quot; maxactivetransformers=&quot;5&quot; maxidletransformers=&quot;2&quot; xsl-file=&quot;service/xsl/EnterpriseEntitlements_getUserProfilesandPermissions_Resp.xsl&quot;&gt;

    &lt;/mulexml:xslt-transformer&gt;&lt;/processor-chain&gt;
   &lt;/when&gt;
   &lt;otherwise&gt;
    &lt;processor-chain doc:name=&quot;defult&quot;&gt;
     &lt;logger doc:name=&quot;Logger&quot; level=&quot;DEBUG&quot; message=&quot;SOAPAction #[message.inboundProperties[&#39;SOAPAction&#39;] ]  &amp;quot;getSubscribersInfo&amp;quot; &quot;&gt;
    &lt;/logger&gt;&lt;/processor-chain&gt;
   &lt;/otherwise&gt;
  &lt;/choice&gt;

 &lt;/https:outbound-endpoint&gt;&lt;/logger&gt;&lt;/set-property&gt;&lt;/set-variable&gt;&lt;/cxf:proxy-service&gt;&lt;/http:inbound-endpoint&gt;&lt;/flow&gt;
&lt;/mule&gt;
&lt;/pre&gt;
To set password following code snippet is used for password callback

&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;package lr.mule.security;

import java.io.IOException;

import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;

import org.apache.ws.security.WSPasswordCallback;

public class PasswordCallback implements CallbackHandler
{
    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException
    {
        WSPasswordCallback pc = (WSPasswordCallback) callbacks[0];

       
         
            pc.setPassword(&quot;password&quot;);
       
       
    }
}

&lt;/pre&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/7432762141508524384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2014/03/create-proxy-service-for-secure-web.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/7432762141508524384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/7432762141508524384'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2014/03/create-proxy-service-for-secure-web.html' title='Create Proxy Service for secure web service call using Mule ESB'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqr_JBujwtyjzm2GBsYRJo8r2aEP9psMu6DtXvKWrXzDFG_PNMmbCwh3R2aCz_XlsdV4HXqHkazX522sbM2dpac340eD1HFBTSgR7jGg60fnNfGgkRklUjkou6G_hhDavcwIhL9-CL5069/s72-c/1.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-4688569350803533829</id><published>2014-03-06T22:06:00.001-08:00</published><updated>2016-12-12T16:41:57.573-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>How to resolve Java SSL certificate error PKIX path building failed</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
If you found following error while connecting a secure server&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;&quot;&lt;span style=&quot;background-color: white; font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: 14px;&quot;&gt;org.apache.axis2.AxisFault: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target&lt;/span&gt;&quot;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
follow the below step to resolve the issue.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Step 1. Go to your Mozilla Firefox and browse the server URL and follow the highlighted steps.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtdeIUAcr_n4kphRwFBIv3wc7JaO6nWln4qJQihcw1NW5ngIL9JaesoejOZw_qNIjGyCTAoCJCeSqIlTNL5JiG_CdAcoHm1S2_ISktWQ_PSUX18xbeTWSDr3tK7F5Sd6OkKnOrUF-8ONo-/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;211&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtdeIUAcr_n4kphRwFBIv3wc7JaO6nWln4qJQihcw1NW5ngIL9JaesoejOZw_qNIjGyCTAoCJCeSqIlTNL5JiG_CdAcoHm1S2_ISktWQ_PSUX18xbeTWSDr3tK7F5Sd6OkKnOrUF-8ONo-/s1600/1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Step 2. Download the certificate by following highlighted steps and save it to location direction with file extension &quot;.crt&quot;, e.g: example.crt.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD84ahhz1XnhAGJYI8CJrgj4mBKONMTC0RB8i7T1lIluMXFSFlhwUgWX8D89JOTcv2Hs5QdXVr_b-Qx2r5katEO-5gJHYz96bh2rXVyAzLMjUYoMVWzINT1e5tqtmWcssbEPTsYsECC8E1/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;223&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD84ahhz1XnhAGJYI8CJrgj4mBKONMTC0RB8i7T1lIluMXFSFlhwUgWX8D89JOTcv2Hs5QdXVr_b-Qx2r5katEO-5gJHYz96bh2rXVyAzLMjUYoMVWzINT1e5tqtmWcssbEPTsYsECC8E1/s1600/2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Step 3. Now open command prompt with &quot;run as administrator&quot; and run the following command&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
keytool -import -trustcacerts -file F:\qatoes002.unix.gsm1900.org.crt -alias CA_ALIAS -keystore &quot;%JAVA_HOME%/jre/lib/security/cacerts&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
it might ask password if needed then ask server administrator.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Certificate will be store in JDK home. If you are using eclipse IDE for development, make sure you are using same JDK home.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Unix Command:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
echo -n | openssl s_client -connect HOST:PORT | sed -ne &#39;/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p&#39; &amp;gt; /tmp/$SERVERNAME.cert&lt;br /&gt;
&lt;br /&gt;
echo -n | openssl s_client -connect localhost:5116 | sed -ne &#39;/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p&#39; &amp;gt; /tmp/$SERVERNAME.cert&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;/opt/msdp/local/jdk1.8.0_51/bin/keytool -importcert -file /tmp/$SERVERNAME.cert &amp;nbsp;-keystore keystore1.jks -alias &quot;Alias1&quot;&lt;br /&gt;
&lt;br /&gt;
Reference:&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/java-keytool-essentials-working-with-java-keystores&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/4688569350803533829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2014/03/how-to-resolve-java-ssl-certificate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/4688569350803533829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/4688569350803533829'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2014/03/how-to-resolve-java-ssl-certificate.html' title='How to resolve Java SSL certificate error PKIX path building failed'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtdeIUAcr_n4kphRwFBIv3wc7JaO6nWln4qJQihcw1NW5ngIL9JaesoejOZw_qNIjGyCTAoCJCeSqIlTNL5JiG_CdAcoHm1S2_ISktWQ_PSUX18xbeTWSDr3tK7F5Sd6OkKnOrUF-8ONo-/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-4150053331340074862</id><published>2014-02-24T11:48:00.000-08:00</published><updated>2014-02-24T11:54:14.601-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Junit"/><category scheme="http://www.blogger.com/atom/ns#" term="Selenium"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Testing"/><title type='text'>Selenium webdriver Junit test example</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Selenium is one of the best tool for automating web application testing. If&amp;nbsp;number of pages of web application increase gradually, it is really hard for application tester to test every page after new deployment.&lt;br /&gt;
&lt;br /&gt;
Selenium provide web driver for almost browser including firefox, IE, Google Chrome etc. Even you can integrate selenium web driver with Junit,&amp;nbsp;TestNG or plan Java, .Net code.&lt;br /&gt;
&lt;br /&gt;
Selenium provide two type of web drivers. Browser base driver like FirefoxDriver will open the Firefox browser and perform the test. In this case, Selenium&amp;nbsp;will fill up all fields and click on necessary places, just like an automated robot. But if you want to write test cases that does&#39;t require browser then you can use &amp;nbsp;HtmlUnitDriver. It will create instance of in-memory browser. But browser base driver is important when you want to test your application whether its compatible with all modern browser like Google chrome, Firefox and IE.&lt;br /&gt;
&lt;br /&gt;
You can download Selenium library from &amp;nbsp;&lt;a href=&quot;http://docs.seleniumhq.org/download/&quot;&gt;http://docs.seleniumhq.org/download/&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
However, you can add it in your project as maven dependency.&lt;br /&gt;
&lt;pre class=&quot;brush: xml&quot;&gt;   &lt;!-- selenium --&gt;
  &lt;dependency&gt;
   &lt;groupid&gt;org.seleniumhq.selenium&lt;/groupid&gt;
   &lt;artifactid&gt;selenium-java&lt;/artifactid&gt;
   &lt;version&gt;2.39.0&lt;/version&gt;
   &lt;exclusions&gt;
    &lt;exclusion&gt;
     &lt;groupid&gt;org.seleniumhq.selenium&lt;/groupid&gt;
     &lt;artifactid&gt;selenium-iphone-driver&lt;/artifactid&gt;
    &lt;/exclusion&gt;
    &lt;exclusion&gt;
     &lt;artifactid&gt;xml-apis&lt;/artifactid&gt;
     &lt;groupid&gt;xml-apis&lt;/groupid&gt;
    &lt;/exclusion&gt;
   &lt;/exclusions&gt;
  &lt;/dependency&gt;
&lt;/pre&gt;
Following snippet &amp;nbsp;is showing initialization of Firefox web driver and HtmlUnitDriver.&lt;br /&gt;
&lt;br /&gt;
Create a new instance of the html unit driver&lt;br /&gt;
private WebDriver driver= new HtmlUnitDriver();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;// Create a new instance of the Firefox driver&lt;br /&gt;
private WebDriver driver= new FirefoxDriver();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example showing how to perform login before test any secure page. In Junit @BeforeClass annotation method will be called before run any test case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;@BeforeClass
 public static void setUpBeforeClass() throws Exception {

  entity = new Users(&quot;moin&quot;, &quot;123&quot;, &quot;abc@gmail.com&quot;, &quot;xyz&quot;,
    &quot;&quot;);
         // Create a new instance of the html unit driver
  driver = new HtmlUnitDriver();
              
                // And now use this to visit your login URL. e.g &lt;input name=&quot;j_username&quot; type=&quot;text&quot; /&gt;
  driver.get(serverBaseUrl + &quot;/login&quot;);
                // set the user name in user id text field
  driver.findElement(By.name(&quot;j_username&quot;))
    .sendKeys(entity.getUserName());
                 // set the password in user password text field
  driver.findElement(By.name(&quot;j_password&quot;))
    .sendKeys(entity.getPassword());

  driver.findElement(By.className(&quot;pull-right&quot;)).click();
  System.out.println(driver.getPageSource());
  if (driver.findElement(By.cssSelector(&quot;.jumbotron&quot;)).getText()
    .contains(&quot;Welcome to ScrapperX&quot;)) {

   System.out.println(&quot;Login Success&quot;);
  } else {
   System.out.println(&quot;Login fail&quot;);
   throw new Exception(&quot;Login Require&quot;);

  }

  Thread.sleep(1000);
 }

&lt;/pre&gt;
After login you can test any secure page in the same session. Below snippet is showing how to test &quot;update user profile page&quot;
&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt; 
       @Test
 public void testUpdateProfile() {
  driver.get(serverBaseUrl + &quot;/users/editprofile&quot;);
                // clear the exist first name or else sendKeys will append new text
  driver.findElement(By.name(&quot;firstName&quot;)).clear();
  driver.findElement(By.name(&quot;firstName&quot;))
    .sendKeys(entity.getFirstName());
  driver.findElement(By.name(&quot;lastName&quot;)).clear();
  driver.findElement(By.name(&quot;lastName&quot;)).sendKeys(entity.getLastName());
  driver.findElement(By.name(&quot;password&quot;)).clear();
  driver.findElement(By.name(&quot;password&quot;)).sendKeys(entity.getPassword());
  driver.findElement(By.name(&quot;c_password&quot;)).clear();
  driver.findElement(By.name(&quot;c_password&quot;))
    .sendKeys(entity.getPassword());
    // in several way you can select a checkbox
                 /*
   * List&lt;webelement&gt; checkbox =
   * driver.findElements(By.name(&quot;paymentActive&quot;)); ((WebElement)
   * checkbox.get(0)).click();
   */
                // select paymentActive checkbox
  WebElement checkbox = driver.findElement(By.name(&quot;paymentActive&quot;));
             
  if (checkbox.isSelected() == false) {
   checkbox.click();
  }

  driver.findElement(By.className(&quot;btn&quot;)).click();
  System.out.println(driver.findElement(By.cssSelector(&quot;.alert&quot;))
    .getText());
  assertTrue(&quot;Update user profile fail&quot;,
    driver.findElement(By.cssSelector(&quot;.alert&quot;)).getText()
      .contains(&quot;Update Complete&quot;));
 }


&lt;/webelement&gt;&lt;/pre&gt;
You can access any field or html element by css class name, id and field name. 

Following example is showing how to select a drop-down option.
&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;   Select cardTypeDropDown = new Select(driver.findElement(By
    .name(&quot;cardType&quot;)));
   cardTypeDropDown.selectByValue(&quot;visa&quot;);

&lt;/pre&gt;
Here is an working example of testing Google search.

&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;package com.scrapperx.web.controller;

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class GoogleSearchTest {

 @Test
 public void testGoogleSearch() throws InterruptedException {
  // Create a new instance of the html unit driver
  // Notice that the remainder of the code relies on the interface,
  // not the implementation.
  System.out.println(&quot;http://www.google.com&quot;);
  WebDriver driver = new FirefoxDriver();

  // And now use this to visit Google
  driver.get(&quot;http://www.google.com&quot;);

  // Find the text input element by its name
  WebElement element = driver.findElement(By.name(&quot;q&quot;));

  // Enter something to search for
  element.sendKeys(&quot;tometo&quot;);

  // Now submit the form. WebDriver will find the form for us from the
  // element
  element.submit();

  // Check the title of the page
  System.out.println(&quot;Page title is: &quot; + driver.getTitle());
        Thread.sleep(10000);
  driver.quit();

 }
}

&lt;/pre&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/4150053331340074862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2014/02/selenium-webdriver-junit-test-example.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/4150053331340074862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/4150053331340074862'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2014/02/selenium-webdriver-junit-test-example.html' title='Selenium webdriver Junit test example'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-3685767926055608078</id><published>2014-02-22T05:17:00.001-08:00</published><updated>2014-02-22T05:17:53.798-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bootstrap"/><category scheme="http://www.blogger.com/atom/ns#" term="Html5"/><title type='text'>Bootstrap  autocomplete using Typeahead JS</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div&gt;
Typeahead provide very good solution for auto complete suggestion. Here is an example showing auto suggestion based on user query.
When user type a keyword, a json request will be send to server side and response will be appeared right bottom of search field.


&lt;/div&gt;
&lt;pre class=&quot;brush: js&quot;&gt;  &lt;script type=&quot;text/javascript&quot;&gt;
$(function(){

 
   
   
 $(&#39;#searchField&#39;).typeahead({
     source: function (query, process) {
      var url = &#39;&lt;c:url value=&quot;/ebay/get-popular-search.json&quot; /&gt;?words=&#39;+query;
         return $.getJSON( url, function( data ) {
           return process(data);
      }); 
     }
 });
});


&lt;/script&gt;
&lt;/pre&gt;
&lt;pre class=&quot;brush: html&quot;&gt;&lt;input autocomplete=&quot;off&quot; class=&quot;form-control&quot; data-provide=&quot;typeahead&quot; id=&quot;searchField&quot; name=&quot;search&quot; placeholder=&quot;Search...&quot; type=&quot;text&quot; /&gt; 

&lt;/pre&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/3685767926055608078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2014/02/bootstrap-autocomplete-using-typeahead.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/3685767926055608078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/3685767926055608078'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2014/02/bootstrap-autocomplete-using-typeahead.html' title='Bootstrap  autocomplete using Typeahead JS'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-7456740793327792454</id><published>2014-02-20T03:01:00.001-08:00</published><updated>2014-02-22T05:13:31.752-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Junit"/><title type='text'>Java junit lifecycle methods</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&amp;nbsp;JUnit is more popular framework for unit testing in java. &amp;nbsp;JUnit provide four life cycle methods for each test case class.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;span style=&quot;background-color: white; border: 0px; font-family: Arial; font-size: 15px; line-height: 22.5px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; zoom: 1;&quot;&gt;&lt;b&gt;@BeforeClass&lt;/b&gt; and&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px; font-family: Arial; font-size: 15px; line-height: 22.5px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; zoom: 1;&quot;&gt;&lt;b&gt;@AfterClass&lt;/b&gt; anotation used before methods which are called by framework once for all test case.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; border: 0px; font-family: Arial; font-size: 15px; line-height: 22.5px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; zoom: 1;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; border: 0px; font-family: Arial; font-size: 15px; line-height: 22.5px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; zoom: 1;&quot;&gt;&lt;b&gt;@Before&lt;/b&gt; &amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px; font-family: Arial; font-size: 15px; line-height: 22.5px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; zoom: 1;&quot;&gt;&lt;b&gt;@After&lt;/b&gt; are used on methods which are called before and after any test method run.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; border: 0px; font-family: Arial; font-size: 15px; line-height: 22.5px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; zoom: 1;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; border: 0px; font-family: Arial; font-size: 15px; line-height: 22.5px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; zoom: 1;&quot;&gt;Here is an example code snippet.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; border: 0px; font-family: Arial; font-size: 15px; line-height: 22.5px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; zoom: 1;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; border: 0px; font-family: Arial; font-size: 15px; line-height: 22.5px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; zoom: 1;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; border: 0px; font-family: Arial; font-size: 15px; line-height: 22.5px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; zoom: 1;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:java&quot;&gt;package com.test;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class ExampleTest {

 @BeforeClass
 public static void setUpBeforeClass() throws Exception {
  
  System.out.println(&quot;Before all test case execution&quot;);
 }

 @AfterClass
 public static void tearDownAfterClass() throws Exception {
   System.out.println(&quot;After all test case execution&quot;);
 }

 @Before
 public void setUp() throws Exception {
    System.out.println(&quot;Before single test case execution&quot;);
 }

 @After
 public void tearDown() throws Exception {
  System.out.println(&quot;After single test case execution&quot;);
 }

 @Test
 public void testMethod1() {
   System.out.println(&quot;a&quot;);
 }

 @Test
 public void testMethod2() {
   System.out.println(&quot;b&quot;);
 }

}


&lt;/pre&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/7456740793327792454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2014/02/java-junit-life-cycle-methods.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/7456740793327792454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/7456740793327792454'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2014/02/java-junit-life-cycle-methods.html' title='Java junit lifecycle methods'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-1494854930774190083</id><published>2013-08-27T09:31:00.000-07:00</published><updated>2014-02-22T01:25:55.451-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Weblogic"/><title type='text'>Deploy war to WebLogic using Maven</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
First off you need Maven and Weblogic setup in your computer to start this tutorial.&lt;br /&gt;
My Weblogic(10.3.6.0) has setup under :&amp;nbsp;C:\Oracle\Middleware.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Set Middleware home :&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:bash, shell&quot;&gt; 
set MW_HOME=C:\Oracle\Middleware
&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
1. Build the plug-in JAR file using the WebLogic JarBuilder Tool (wljarbuilder) under %MW_HOME%/wlserver_10.3/server/lib/ with the following command:&lt;/div&gt;
&lt;pre class=&quot;brush:bash, shell&quot;&gt; 
java -jar wljarbuilder.jar -profile weblogic-maven-plugin
&lt;/pre&gt;
&lt;div&gt;
The weblogic-maven-plugin.jar contains a Project Object Model (pom.xml) file which specifies the groupId, artifactId, version, and packaging of the weblogic-maven-plugin.jar:&lt;br /&gt;
&amp;nbsp;groupId=com.oracle.weblogic&lt;br /&gt;
artifactId=weblogic-maven-plugin&lt;br /&gt;
version=10.3.6.0&lt;br /&gt;
packaging=maven-plugin
&lt;br /&gt;
&lt;br /&gt;
2. Extract the pom.xml file from weblogic-maven-plugin.jar under the&amp;nbsp;%MW_HOME%&amp;nbsp;wlserver_10.3/server/lib directory, and then copy the pom.xml file to&amp;nbsp;%MW_HOME%/wlserver_10.3/server/lib.&lt;br /&gt;
&lt;pre class=&quot;brush:bash, shell&quot;&gt; 
jar xvf %MW_HOME%/wlserver_10.3/server/lib/weblogic-maven-plugin.jar META-INF/maven/com.oracle.weblogic/weblogic-maven-plugin/pom.xml
&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
copy %MW_HOME%/wlserver_10.3/server/lib/META-INF/maven/com.oracle.weblogic/weblogic-maven-plugin/pom.xml &amp;nbsp;to&amp;nbsp;%MW_HOME%//wlserver_10.3/server/lib/pom.xml
&lt;br /&gt;
&lt;br /&gt;
Add following in your project pom.xml file:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.Provision the weblogic-maven-plugin.jar in your local Maven repository with the following command. However, for a shortened command-line goal invocation of the plug-in, follow the directions in next step 4 before performing this step.&lt;br /&gt;
http://docs.oracle.com/cd/E21764_01/web.1111/e13702/maven_deployer.htm&lt;br /&gt;
&lt;pre class=&quot;brush:bash, shell&quot;&gt; 
mvn install:install-file -Dfile=%MW_HOME%/wlserver_10.3/server/lib/weblogic-maven-plugin.jar -DpomFile=pom.xml
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.&lt;br /&gt;
&amp;nbsp; you can shorten the full invocation of the plug-in by providing a pom.xml file &amp;nbsp;and modifying the settings.xml file located in your $HOME/.m2 directory, before you provision the plug-in in your Maven repository&lt;br /&gt;
&lt;ol style=&quot;background-color: white; font-family: Tahoma, sans-serif; font-size: small; list-style-type: lower-alpha;&quot;&gt;
&lt;li&gt;Change the&amp;nbsp;&lt;code style=&quot;font-size: 12px;&quot;&gt;settings.xml&lt;/code&gt;&amp;nbsp;file as follows:&lt;br /&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;

&lt;!-- pluginGroups
 | This is a list of additional group identifiers that will be searched 
 | when resolving plugins by their prefix, for example, when invoking a  
 | command line like &quot;mvn prefix:goal&quot;. Maven will automatically add the 
 | group identifiers &quot;org.apache.maven.plugins&quot; and &quot;org.codehaus.mojo&quot;
 | if theses are not already contained in the list.
 | --&gt;
&lt;plugingroups&gt;
   &lt;!-- pluginGroup
      | Specifies a further group identifier to use for plugin lookup.
    --&gt;
   &lt;plugingroup&gt;com.oracle.weblogic&lt;/plugingroup&gt;
 &lt;/plugingroups&gt;&lt;/pre&gt;


&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&amp;nbsp;b. Replace the %MW_HOME%/wlserver_10.3/server/lib/pom.xml file with the following(&lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;Use same version that was in the pom.xml&lt;/b&gt;&lt;/span&gt;):&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;


&lt;project xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xsi:schemalocation=&quot;http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd&quot;&gt;
  &lt;modelversion&gt;4.0.0&lt;/modelversion&gt;
  &lt;groupid&gt;com.oracle.weblogic&lt;/groupid&gt;
  &lt;artifactid&gt;weblogic-maven-plugin&lt;/artifactid&gt;
  &lt;packaging&gt;maven-plugin&lt;/packaging&gt;
  &lt;version&gt;10.3.4&lt;/version&gt;
  &lt;name&gt;Maven Mojo Archetype&lt;/name&gt;
  &lt;url&gt;http://maven.apache.org&lt;/url&gt;
  &lt;dependencies&gt;
    &lt;dependency&gt;
      &lt;groupid&gt;org.apache.maven&lt;/groupid&gt;
      &lt;artifactid&gt;maven-plugin-api&lt;/artifactid&gt;
      &lt;version&gt;2.0&lt;/version&gt;
    &lt;/dependency&gt;
  &lt;/dependencies&gt;
 
  &lt;build&gt;
   &lt;plugins&gt;
      &lt;plugin&gt;
       &lt;artifactid&gt;maven-plugin-plugin&lt;/artifactid&gt;
       &lt;version&gt;2.3&lt;/version&gt;
       &lt;configuration&gt;
         &lt;goalprefix&gt;weblogic&lt;/goalprefix&gt;
       &lt;/configuration&gt;
      &lt;/plugin&gt;
    &lt;/plugins&gt;
  &lt;/build&gt;
 
&lt;/project&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
From within MW_HOME/wlserver_10.3/server/lib/, run the mvn install command.&lt;br /&gt;
&lt;br /&gt;
mvn install&lt;br /&gt;
&lt;br /&gt;
From within MW_HOME/wlserver_10.3/server/lib/, provision the weblogic-maven-plugin.jar in your local Maven repository as follows:&lt;br /&gt;
&lt;br /&gt;
mvn install:install-file -Dfile=%MW_HOME%/wlserver_10.3/server/lib/weblogic-maven-plugin.jar -DpomFile=pom.xml&lt;br /&gt;
&lt;br /&gt;
Now, you can use a shortened command-line goal invocation, such as:&lt;br /&gt;
&lt;br /&gt;
mvn weblogic:deploy&lt;br /&gt;
&lt;br /&gt;
Deployment Goals&lt;br /&gt;
weblogic.deploy&lt;br /&gt;
weblogic:undeploy&lt;br /&gt;
weblogic:redeploy&lt;br /&gt;
weblogic:start-app&lt;br /&gt;
weblogic:stop-app&lt;br /&gt;
weblogic:list-apps&lt;br /&gt;
weblogic:update-app&lt;br /&gt;
weblogic:help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/1494854930774190083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2013/08/deploy-war-to-weblogic-using-maven.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/1494854930774190083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/1494854930774190083'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2013/08/deploy-war-to-weblogic-using-maven.html' title='Deploy war to WebLogic using Maven'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-2280674654179791113</id><published>2013-08-27T03:54:00.002-07:00</published><updated>2014-02-22T05:19:48.863-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Database"/><category scheme="http://www.blogger.com/atom/ns#" term="Store procedure"/><title type='text'>Create Oracle Stored Procedure example</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Following is a basic oracle store procedure example:&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql&quot;&gt;CREATE OR REPLACE PROCEDURE procPrintHelloWorld
IS

 usr_id VARCHAR2(20):=&#39; sujan &#39;;
BEGIN
 
  DBMS_OUTPUT.PUT_LINE(&#39;Hello World!&#39;|| usr_id);
 
END;
/
&lt;/pre&gt;
To see output on console you need to run following command.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:sql&quot;&gt; set serveroutput on size 30000;
&lt;/pre&gt;
&lt;pre class=&quot;brush:sql&quot;&gt;&lt;/pre&gt;
&lt;b&gt;Run store procedure:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:sql&quot;&gt; EXEC procPrintHelloWorld;
&lt;/pre&gt;
&lt;pre class=&quot;brush:sql&quot;&gt;&lt;/pre&gt;
If you get any compilation error, run following command to display it.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:sql&quot;&gt;SHOW ERRORS
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/2280674654179791113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2013/08/create-oracle-store-procedure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/2280674654179791113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/2280674654179791113'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2013/08/create-oracle-store-procedure.html' title='Create Oracle Stored Procedure example'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-4479433970318656855</id><published>2013-08-16T05:54:00.000-07:00</published><updated>2014-02-22T01:31:50.479-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Email"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN"/><title type='text'>Add SVN email notification</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
SVN email notification is important when many programmer involves &amp;nbsp;in software development. For example, you are working on module and other programmers are using that. So if you check-in updated the classes , you have to notify other developers that module has been updated.&lt;br /&gt;
&lt;br /&gt;
SVN provide post commit hook option, there you can add any script or programme that would be execute after SVN commit. Here I will add email notification in post-commit hook script.&lt;br /&gt;
&lt;br /&gt;
I have create a repository in /apps/subversion/hsolite/.&lt;br /&gt;
Using ls command you can see default directories created under repository. There is a directory called hooks where you will put you post-commit script. When any user will commit in SVN, post-commit script will be execute.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpriI0ly5MKKYuiQcvTLMJ6m9ukkn4SoVEZUlGYJJ8_vZ_zvnIfU9vQzK92jIgAI6QxMkIE05fHzX2pvkuW30G-v7wwHwma2I6wpYO_hNQvQVnCduwDeInKFgyEfhjTmHw90_jn8QPHAE4/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpriI0ly5MKKYuiQcvTLMJ6m9ukkn4SoVEZUlGYJJ8_vZ_zvnIfU9vQzK92jIgAI6QxMkIE05fHzX2pvkuW30G-v7wwHwma2I6wpYO_hNQvQVnCduwDeInKFgyEfhjTmHw90_jn8QPHAE4/s1600/1.png&quot; height=&quot;83&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
To send email notification you need find out &quot;mailer.py&quot; and &quot;mailer.conf&quot;&lt;br /&gt;
&lt;br /&gt;
[root@domU-12-31-39-09-29-13 hsolite]# find / -name &quot;mailer.py&quot;&lt;br /&gt;
/usr/share/doc/subversion-1.6.11/tools/hook-scripts/mailer/mailer.py&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
[root@domU-12-31-39-09-29-13 hsolite]# &amp;nbsp;find / -name &quot;mailer.conf&quot;&lt;/div&gt;
&lt;div&gt;
/usr/share/doc/subversion-1.6.11/tools/hook-scripts/mailer/tests/mailer.conf&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Now copy the mailer.py and mailer.conf &amp;nbsp;under&amp;nbsp;/apps/subversion/hsolite/hooks and &amp;nbsp;/apps/subversion/hsolite/ respectively.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
[root@domU-12-31-39-09-29-13 hsolite]# &amp;nbsp;cp /usr/share/doc/subversion-1.6.11/tools/hook-scripts/mailer/mailer.py &amp;nbsp; /apps/subversion/hsolite/hooks/mailer.py&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
[root@domU-12-31-39-09-29-13 hsolite]# cp &amp;nbsp;/usr/share/doc/subversion-1.6.11/tools/hook-scripts/mailer/tests/mailer.conf &amp;nbsp; /apps/subversion/hsolite//mailer.conf&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Now edit the mailer.conf and override following properties&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
mail_command = /usr/sbin/sendmail&lt;/div&gt;
&lt;div&gt;
commit_subject_prefix = [svn-myproject]&lt;/div&gt;
&lt;div&gt;
from_addr = noreply@mydomain.com&lt;/div&gt;
&lt;div&gt;
to_addr = commits-myproject@mydomain.com &amp;nbsp;# this is a mailing list&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Under hooks directory you will find &quot;post-commit.tmpl&quot; that you need to rename to &quot;post-commit&quot;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Replace &quot;post-commit&quot; script &amp;nbsp;contains with the following snippet.&lt;/div&gt;
&lt;div&gt;
------------------------------------------------&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
#!/bin/sh&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
REPOS=&quot;$1&quot;&lt;/div&gt;
&lt;div&gt;
REV=&quot;$2&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
/apps/subversion/hsolite/hooks/mailer.py commit &quot;$REPOS&quot; &quot;$REV&quot; /apps/subversion/hsolite/mailer.conf&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
-------------------------------------------------------&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Make sure &quot;post-commit&quot; is executable.&lt;/div&gt;
&lt;div&gt;
[root@domU-12-31-39-09-29-13 hsolite]# chmod +x&amp;nbsp;post-commit&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Testing :&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Using svnlook &amp;nbsp;yon can get latest revision number.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
[root@domU-12-31-39-09-29-13 ~]# svnlook info /apps/subversion/hsolite/&lt;/div&gt;
&lt;div&gt;
sujankn&lt;/div&gt;
&lt;div&gt;
2013-08-16 07:41:29 -0400 (Fri, 16 Aug 2013)&lt;/div&gt;
&lt;div&gt;
0&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
[root@domU-12-31-39-09-29-13 ~]# svnlook youngest /apps/subversion/hsolite/&lt;/div&gt;
&lt;div&gt;
2850&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Test the hook script:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
[root@domU-12-31-39-09-29-13 ~]#&amp;nbsp;REPOS=/apps/subversion/hsolite/&lt;/div&gt;
&lt;div&gt;
[root@domU-12-31-39-09-29-13 ~]# &amp;nbsp;REV=2850&lt;/div&gt;
&lt;div&gt;
[root@domU-12-31-39-09-29-13 ~]# &amp;nbsp;&quot;$REPOS&quot;/hooks/mailer.py commit &quot;$REPOS&quot; $REV &quot;$REPOS&quot;/mailer.conf&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
After run above command you should receive email notification with revision number 2850&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:bash, shell&quot;&gt;
[root@domU-12-31-39-09-29-13 ~]# REPOS=/apps/subversion/hsolite/
[root@domU-12-31-39-09-29-13 ~]#  REV=2850
[root@domU-12-31-39-09-29-13 ~]#   sh $REPOS/hooks/post-commit  $REPOS$REV
&lt;/pre&gt;
&lt;div&gt;
If post-commit script run successfully then commit some files in SVN then check your email inbox for notification.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/4479433970318656855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2013/08/add-svn-email-notification.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/4479433970318656855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/4479433970318656855'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2013/08/add-svn-email-notification.html' title='Add SVN email notification'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpriI0ly5MKKYuiQcvTLMJ6m9ukkn4SoVEZUlGYJJ8_vZ_zvnIfU9vQzK92jIgAI6QxMkIE05fHzX2pvkuW30G-v7wwHwma2I6wpYO_hNQvQVnCduwDeInKFgyEfhjTmHw90_jn8QPHAE4/s72-c/1.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-65243610083536120</id><published>2013-08-05T10:47:00.003-07:00</published><updated>2014-02-22T01:30:26.318-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JPA 2.0"/><category scheme="http://www.blogger.com/atom/ns#" term="Weblogic"/><title type='text'>Weblogic  JPA 2.0 configuration </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
If you find following exception in webloginc while running JPA 2.0 web application&lt;br /&gt;
Caused By: java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode;&lt;br /&gt;
&lt;br /&gt;
you need to add following line in&amp;nbsp;commEnv.cmd( located at %BEA_HOME%\wlserver_10.3\common\bin\) just after &amp;nbsp;&quot;set BEA_HOME=C:\Oracle\Middleware&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
set PRE_CLASSPATH=%BEA_HOME%\modules\javax.persistence_1.1.0.0_2-0.jar;%BEA_HOME%\modules\com.oracle.jpa2support_1.0.0.0_2-1.jar&lt;br /&gt;
&lt;br /&gt;
Then restart your server again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/65243610083536120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2013/08/weblogic-jpa-20-config.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/65243610083536120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/65243610083536120'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2013/08/weblogic-jpa-20-config.html' title='Weblogic  JPA 2.0 configuration '/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-5979680766254569675</id><published>2013-08-05T10:01:00.000-07:00</published><updated>2014-02-22T01:33:42.216-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Weblogic"/><title type='text'>Increase  Weblogic heap size</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Go to your domain bin directory and find&amp;nbsp;setDomainEnv.cmd.&lt;br /&gt;
For example:&lt;br /&gt;
C:\Oracle\Middleware\user_projects\domains\base_domain1\bin\setDomainEnv.cmd.&lt;br /&gt;
&lt;br /&gt;
Open it in any text editor and find following block. &amp;nbsp;Change -Xms1G -Xmx1G&lt;br /&gt;
&lt;br /&gt;
if &quot;%JAVA_VENDOR%&quot;==&quot;Sun&quot; (&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;set WLS_MEM_ARGS_64BIT=-Xms1G -Xmx1G&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;set WLS_MEM_ARGS_32BIT=-Xms1G -Xmx1G&lt;br /&gt;
) else (&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;set WLS_MEM_ARGS_64BIT=-Xms1G -Xmx1G&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;set WLS_MEM_ARGS_32BIT=-Xms1G -Xmx1G&lt;br /&gt;
)&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/5979680766254569675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2013/08/increase-weblogic-heap-size.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/5979680766254569675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/5979680766254569675'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2013/08/increase-weblogic-heap-size.html' title='Increase  Weblogic heap size'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-7740272297585971120</id><published>2013-07-24T04:20:00.001-07:00</published><updated>2014-02-22T01:34:19.161-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><title type='text'>Install SOA suit in Linux from Windows using Reflection X</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
SOA suite 11g (11.1.1.2) is
installed inside the middleware directory structure. Launch Reflection
X software on your local workstation and export DISPLAY variable to point to
your IP:0.0 before starting the installer.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Launch Reflection X tool from your workstation&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Export DISPLAY variable to :0.0 &lt;/li&gt;
cmsfndev@aldapux04b $ export DISPLAY=172.25.26.91:0.0
&lt;li&gt;Add 64-bit JRE installed earlier to PATH &lt;/li&gt;
asufndv2@apux206n $ export PATH=$HOME/ jdk/bin: $PATH
&lt;li&gt;Launch installer from Disk1 &lt;/li&gt;
asufndv2@apux206n $ ./runInstaller -jreLoc /appl/fusn/asufndv2/jdk
&lt;/ol&gt;
&lt;ol&gt;&lt;br /&gt;&lt;/ol&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/7740272297585971120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2013/07/install-soa-suit-in-linux-from-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/7740272297585971120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/7740272297585971120'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2013/07/install-soa-suit-in-linux-from-windows.html' title='Install SOA suit in Linux from Windows using Reflection X'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-3434848287106548677</id><published>2012-03-25T11:20:00.017-07:00</published><updated>2014-02-22T06:16:02.170-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring framework"/><title type='text'>Spring bean scope annotation example</title><content type='html'>


&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Spring bean instance will be created depend on scope specified on that bean , spring container  support five types of scope

&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;singleton – Return a single bean instance per Spring IoC container&lt;/li&gt;
&lt;li&gt;prototype – Return a new bean instance each time when requested&lt;/li&gt;
&lt;li&gt;request – Return a single bean instance per HTTP request. &lt;/li&gt;
&lt;li&gt;session – Return a single bean instance per HTTP session. &lt;/li&gt;
&lt;li&gt;globalSession – Return a single bean instance per global HTTP session. &lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Spring container default scope is singleton  , so you have to be careful before use bean instance . In multi-thread environment , singleton instance must be thread safe to avoid race condition . In that situation you might use prototype scope. Other three scopes are  only valid in the context of a web-aware Spring ApplicationContext.&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Example&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Here is an example to explain difference between singleton and prototype .&lt;/div&gt;
1. Singleton Example:  Since no bean scope is specified ,default to singleton
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;
package com.example.springscope;

import org.springframework.stereotype.Service;

@Service(&quot;userService&quot;)
// default scope is Singleton
public class User {
 private Integer id;
 private String userName;

 public int getId() {
  return id;
 }

 public void setId(Integer id) {
  this.id = id;
 }

 public String getUserName() {
  return userName;
 }

 public void setUserName(String userName) {
  this.userName = userName;
 }
   public String toString(){
    return &quot;[ ID : &quot;+id+&quot; Name :&quot;+userName+&quot;]&quot;;
   }
}


&lt;/pre&gt;
Configuration XML : component-scan will allow  us to use annotation base bean declaration and enable auto component scan. All beans declared in com.example and its child package  will be available in spring context.
&lt;br /&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;&lt;beans xmlns:context=&quot;http://www.springframework.org/schema/context&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns=&quot;http://www.springframework.org/schema/beans&quot; xsi:schemalocation=&quot;
  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd&quot;&gt;

 &lt;context:component-scan base-package=&quot;com.example&quot;&gt;
 
&lt;/context:component-scan&gt;&lt;/beans&gt;

&lt;/pre&gt;
Test example :
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;package com.example.springscope;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {

 /**
  * @param args
  */
 public static void main(String[] args) {

  ApplicationContext context = new ClassPathXmlApplicationContext(
    new String[] { &quot;app-config.xml&quot; });
  // retrieve configured instance
  User customerA = (User) context.getBean(&quot;userService&quot;);
  customerA.setId(1);
  customerA.setUserName(&quot;Jeff&quot;);
  System.out.println(&quot; Customer Info A:&quot; +customerA);
   // Since Scope is singleton , same instance will be return to caller
  User customerB = (User) context.getBean(&quot;userService&quot;); 
  System.out.println(&quot; Customer Info B:&quot; +customerB);
 }

}


&lt;/pre&gt;
&lt;b&gt;Output :&lt;/b&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:text&quot;&gt; Customer Info A:[ ID : 1 Name :Jeff]
 Customer Info B:[ ID : 1 Name :Jeff]


&lt;/pre&gt;
In this example Id and name has been set on the customerA but same value is also showing on customerB , because of singleton scope. Spring container will create only one object for singleton scope  , that will be return to caller every time.

&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;Prototype  Example&lt;/b&gt;
&lt;/div&gt;
If you want new instance every time , you have to use prototype scope .

&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt; package com.example.springscope;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;

@Service(&quot;userService&quot;)
@Scope(&quot;prototype&quot;)
public class User {
 private Integer id;
 private String userName;

 public int getId() {
  return id;
 }

 public void setId(Integer id) {
  this.id = id;
 }

 public String getUserName() {
  return userName;
 }

 public void setUserName(String userName) {
  this.userName = userName;
 }
   public String toString(){
    return &quot;[ ID : &quot;+id+&quot; Name :&quot;+userName+&quot;]&quot;;
   }
}

&lt;/pre&gt;
Test Example :
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;package com.example.springscope;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {

 /**
  * @param args
  */
 public static void main(String[] args) {

  ApplicationContext context = new ClassPathXmlApplicationContext(
    new String[] { &quot;app-config.xml&quot; });
  // retrieve configured instance
  User customerA = (User) context.getBean(&quot;userService&quot;);
  customerA.setId(1);
  customerA.setUserName(&quot;Jeff&quot;);
  System.out.println(&quot; Customer Info A:&quot; +customerA);
   // Since Scope is prototype , new instance will be return to caller
  User customerB = (User) context.getBean(&quot;userService&quot;); 
  System.out.println(&quot; Customer Info B:&quot; +customerB);   // all fields value will be null
  
  customerB.setId(2);
  customerB.setUserName(&quot;Jhon&quot;);
  System.out.println(&quot; Customer Info B:&quot; +customerB);  
  
 }

}


&lt;/pre&gt;
&lt;b&gt;Output :&lt;/b&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:text&quot;&gt;  Customer Info A:[ ID : 1 Name :Jeff]
 Customer Info B:[ ID : null Name :null]
 Customer Info B:[ ID : 2 Name :Jhon]


&lt;/pre&gt;
You can &lt;a href=&quot;https://github.com/sujanctg2005/Example&quot;&gt;download&lt;/a&gt; this example project from github 
https://github.com/sujanctg2005/Example&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/3434848287106548677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2012/03/spring-bean-scope.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/3434848287106548677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/3434848287106548677'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2012/03/spring-bean-scope.html' title='Spring bean scope annotation example'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-4351769152481176669</id><published>2012-03-24T11:14:00.015-07:00</published><updated>2014-02-22T01:40:16.417-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Some Useful  Java File Operations and Utility methods</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;File Modification, Copy, delete and create new file is quite easy in java programming. Here I wrote some java file operation utility method that might be useful for your application. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;Java File Copy Method&lt;/span&gt;

&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public static void copyfile(String srFile, String dtFile) throws Exception {

File f1 = new File(srFile);
File f2 = new File(dtFile);
InputStream in = new FileInputStream(f1);

// For Append the file.
// OutputStream out = new FileOutputStream(f2,true);

// For Overwrite the file.
OutputStream out = new FileOutputStream(f2);

byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) &amp;gt; 0) {

 out.write(buf, 0, len);
}
in.close();
out.close();

}

&lt;/pre&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;Java Delete File Method&lt;/span&gt;

&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public static void removeFile(String fileName) throws Exception {

File file = new File(fileName);

if (file.exists()) {
 boolean success = file.delete();
 if (!success) {
  throw new Exception(&quot;Fail to delete existing file&quot;);
 }
}

}

&lt;/pre&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;Java Rename File Method&lt;/span&gt;

&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public static void renameFile(String oldName, String newName) throws IOException {
   File srcFile = new File(oldName);
   boolean bSucceeded = false;
   try {
       File destFile = new File(newName);
       if (destFile.exists()) {
           if (!destFile.delete()) {
               throw new IOException(oldName + &quot; was not successfully renamed to &quot; + newName);
           }
       }
       if (!srcFile.renameTo(destFile))        {
           throw new IOException(oldName + &quot; was not successfully renamed to &quot; + newName);
       } else {
               bSucceeded = true;
       }
   } finally {
         if (bSucceeded) {
               srcFile.delete();
         }
   }
}

&lt;/pre&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;Java List of files in  specified directory with filter option &lt;/span&gt;

&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;  
List&lt;file&gt; fileList = FileUtil.dirlist(sourceLocation, &quot;*.csv&quot;);

 public static List&lt;file&gt; dirlist(String path, String filter) throws FileNotFoundException {

   File dir = new File(path);
   
   FileFilter fileFilter = new WildcardFilter(filter);
    File[] chld = dir.listFiles(fileFilter);  
   
   List&lt;file&gt; fileList = new ArrayList&lt;file&gt;();
   
   if (chld == null) {
    log.error(&quot;Specified directory does not exist or is not a directory.&quot;);
    throw new FileNotFoundException(&quot;Specified directory does not exist or is not a directory.&quot;);
    
    
   } else {
    for (int i = 0; i &amp;lt; chld.length; i++) {
     File file = chld[i];
     
     if(file.isFile()) {
      fileList.add(file);
     }
     
    }
   }
   return fileList;
  }

&lt;/file&gt;&lt;/file&gt;&lt;/file&gt;&lt;/file&gt;&lt;/pre&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;Java List of files in  specified directory  &lt;/span&gt;

&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public static List&lt;file&gt; dirlist(String path) throws FileNotFoundException {
  File dir = new File(path);
  File[] chld = dir.listFiles();
  List&lt;file&gt; fileList = new ArrayList&lt;file&gt;();
  
  if (chld == null) {
   log.error(&quot;Specified directory does not exist or is not a directory.&quot;);
   throw new FileNotFoundException(&quot;Specified directory does not exist or is not a directory.&quot;);
   
  } else {
   for (int i = 0; i &amp;lt; chld.length; i++) {
    File file = chld[i];
    
    if(file.isFile()) {
     fileList.add(file);
    }
    
   }
  }
  return fileList;
 }
&lt;/file&gt;&lt;/file&gt;&lt;/file&gt;&lt;/pre&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/4351769152481176669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2012/03/some-useful-java-file-operation-method.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/4351769152481176669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/4351769152481176669'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2012/03/some-useful-java-file-operation-method.html' title='Some Useful  Java File Operations and Utility methods'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-7168197406665966710</id><published>2012-03-15T06:10:00.022-07:00</published><updated>2014-02-22T01:42:04.354-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Database"/><title type='text'>Bind Oracle  Listener with SID</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Most of the time when we try to access oracle database from outside of localhost using oracle client or JDBC driver , we will get &quot;ORA-12505, TNS:listener does not currently know of SID given in connect descriptor&quot; error. But database can be accessible from local machine .
To avoid this problem we need follow this steps.
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Go to Oracle Net Manager from All Program&amp;gt; Oracle&amp;gt; Configuration and Migration Tool&amp;gt;  Oracle Net Manager,&lt;/li&gt;
&lt;li&gt;In Oracle Net Manager ,change oracle listener host name &quot;Localhost&quot; to database server IP or server full  domain name , e.g : 60.84.278.155 or db.acm.com.

&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxvpoBFlvmUW8rqj5A0-ZS9JJTfmWZ6ht2rQxzP_5uieWZ1LhbVDDg346gtNo6NJ44C5JfB04vm6qtKMQ6lJ8KfYU2PEnbXkIlhMQzaNIXZsbYGQBGdgbT30gbNPSiXS6UKQUI0VsbEJkb/s1600/1.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxvpoBFlvmUW8rqj5A0-ZS9JJTfmWZ6ht2rQxzP_5uieWZ1LhbVDDg346gtNo6NJ44C5JfB04vm6qtKMQ6lJ8KfYU2PEnbXkIlhMQzaNIXZsbYGQBGdgbT30gbNPSiXS6UKQUI0VsbEJkb/s320/1.png&quot; id=&quot;BLOGGER_PHOTO_ID_5720113955084535090&quot; style=&quot;cursor: hand; cursor: pointer; height: 263px; width: 320px;&quot; /&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Then you need to save change by clicking File&amp;gt;Save Network Configuration.
&lt;/li&gt;
&lt;li&gt;
Do not forget to add listener port into firewall if your firewall is enable.
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxvM7qlqyW3TvqsuDElVeWlQtrhbKlYcLxscsg9dqtObuT3d8t_j20yMKZwaeku9PA-RLWJsUj8xs07kXSxja22R-GE5APzXhLPTogAIF9bN5PPeJzw7QCHzST_7BAyoGrHMJljAfff7Wo/s1600/2.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxvM7qlqyW3TvqsuDElVeWlQtrhbKlYcLxscsg9dqtObuT3d8t_j20yMKZwaeku9PA-RLWJsUj8xs07kXSxja22R-GE5APzXhLPTogAIF9bN5PPeJzw7QCHzST_7BAyoGrHMJljAfff7Wo/s320/2.png&quot; id=&quot;BLOGGER_PHOTO_ID_5720117656909700146&quot; style=&quot;cursor: hand; cursor: pointer; height: 228px; width: 320px;&quot; /&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Next you have to bind your listener  with  oracle SID. For this you will change
listener.ora. You will get this file into  Oracle_HOME\NETWOReK\ADMIN .
e.g   C:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN\listener.ora.

Add this in your  listener.ora
&lt;pre class=&quot;brush:sql&quot;&gt;SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_2)

)
)

&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
Restart Listener to effect the change. In command prompt type following command
to restart listener.
&lt;pre class=&quot;brush:shell&quot;&gt;   
  lsnrctl stop
  lsnrctl start
&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
Finally you will be to connect to database from outside of localhost successfully .&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/7168197406665966710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2012/03/bind-oracle-listener-with-sid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/7168197406665966710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/7168197406665966710'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2012/03/bind-oracle-listener-with-sid.html' title='Bind Oracle  Listener with SID'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxvpoBFlvmUW8rqj5A0-ZS9JJTfmWZ6ht2rQxzP_5uieWZ1LhbVDDg346gtNo6NJ44C5JfB04vm6qtKMQ6lJ8KfYU2PEnbXkIlhMQzaNIXZsbYGQBGdgbT30gbNPSiXS6UKQUI0VsbEJkb/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5348911724393337928.post-7467691293394247187</id><published>2009-11-16T22:29:00.000-08:00</published><updated>2014-02-22T01:44:30.294-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Maven"/><title type='text'>Maven Hello World(Part 1)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx&quot; rel=&quot;themeData&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml&quot; rel=&quot;colorSchemeMapping&quot;&gt;&lt;/link&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:TrackMoves/&gt;   &lt;w:TrackFormatting/&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:DoNotPromoteQF/&gt;   &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;    &lt;w:SplitPgBreakAndParaMark/&gt;    &lt;w:DontVertAlignCellWithSp/&gt;    &lt;w:DontBreakConstrainedForcedTables/&gt;    &lt;w:DontVertAlignInTxbx/&gt;    &lt;w:Word11KerningPairs/&gt;    &lt;w:CachedColBalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathPr&gt;    &lt;m:mathFont m:val=&quot;Cambria Math&quot;/&gt;    &lt;m:brkBin m:val=&quot;before&quot;/&gt;    &lt;m:brkBinSub m:val=&quot;--&quot;/&gt;    &lt;m:smallFrac m:val=&quot;off&quot;/&gt;    &lt;m:dispDef/&gt;    &lt;m:lMargin m:val=&quot;0&quot;/&gt;    &lt;m:rMargin m:val=&quot;0&quot;/&gt;    &lt;m:defJc m:val=&quot;centerGroup&quot;/&gt;    &lt;m:wrapIndent m:val=&quot;1440&quot;/&gt;    &lt;m:intLim m:val=&quot;subSup&quot;/&gt;    &lt;m:naryLim m:val=&quot;undOvr&quot;/&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState=&quot;false&quot; DefUnhideWhenUsed=&quot;true&quot;   DefSemiHidden=&quot;true&quot; DefQFormat=&quot;false&quot; DefPriority=&quot;99&quot;   LatentStyleCount=&quot;267&quot;&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;0&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Normal&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;heading 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 7&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 8&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 9&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 7&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 8&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 9&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;35&quot; QFormat=&quot;true&quot; Name=&quot;caption&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;10&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Title&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; Name=&quot;Default Paragraph Font&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;11&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtitle&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;22&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Strong&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;20&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Emphasis&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;59&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Table Grid&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Placeholder Text&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;No Spacing&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Revision&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;34&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;List Paragraph&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;29&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Quote&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;30&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Quote&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;19&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Emphasis&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;21&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Emphasis&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;31&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Reference&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;32&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Reference&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;33&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Book Title&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;37&quot; Name=&quot;Bibliography&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; QFormat=&quot;true&quot; Name=&quot;TOC Heading&quot;/&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face  {font-family:&quot;Cambria Math&quot;;  panose-1:0 0 0 0 0 0 0 0 0 0;  mso-font-charset:1;  mso-generic-font-family:roman;  mso-font-format:other;  mso-font-pitch:variable;  mso-font-signature:0 0 0 0 0 0;} @font-face  {font-family:Calibri;  panose-1:2 15 5 2 2 2 4 3 2 4;  mso-font-charset:0;  mso-generic-font-family:swiss;  mso-font-pitch:variable;  mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-unhide:no;  mso-style-qformat:yes;  mso-style-parent:&quot;&quot;;  margin-top:0in;  margin-right:0in;  margin-bottom:10.0pt;  margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:Calibri;  mso-fareast-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:&quot;Times New Roman&quot;;  mso-bidi-theme-font:minor-bidi;} .MsoChpDefault  {mso-style-type:export-only;  mso-default-props:yes;  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:Calibri;  mso-fareast-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:&quot;Times New Roman&quot;;  mso-bidi-theme-font:minor-bidi;} .MsoPapDefault  {mso-style-type:export-only;  margin-bottom:10.0pt;  line-height:115%;} @page Section1  {size:8.5in 11.0in;  margin:1.0in 1.0in 1.0in 1.0in;  mso-header-margin:.5in;  mso-footer-margin:.5in;  mso-paper-source:0;} div.Section1  {page:Section1;} &lt;/style&gt; &lt;/div&gt;
--&amp;gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:&quot;Table Normal&quot;;  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:&quot;&quot;;  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:&quot;Times New Roman&quot;;  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: black;&quot;&gt;Why Maven with Eclipse &lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 10pt;&quot;&gt;Eclipse is an industry leader in IDE market, it is used very extensively in developing projects all around the world. Similarly, Maven is a high-level, intelligent project management, build and deployment tool provided by Apache’s software foundation group. Maven deals with application development lifecycle management.

Maven–Eclipse Integration makes the development, testing, packaging and deployment process easy and fast. Maven Integration for Eclipse provides a tight integration for Maven into the IDE and avails the following  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;features:

· It helps to launch Maven builds from within EclipseIt avails the dependency management for Eclipse build path based on Maven&#39;s pom.xml

· It resolves Maven dependencies from the Eclipse workspace without installing to local Maven repository

· It avails an automatic downloading of the required dependencies from the remote Maven repositories

· It provides wizards for creating new Maven projects, pom.xml or to enable Maven support on plain Java project

· It helps to search quickly for dependencies in Maven remote repositories

· It quickly fixes in the Java editor for looking up required dependencies/jars by the class or package name.

What do you Need?
1. Get the Eclipse Development Environment :
In this tutorial we are using the SpringSource Tool Suite .This tool based on eclipse and maven is integrate with this , so no need to download or configure maven with eclipse , which can be downloaded from http://www.springsource.com/products/springsource-tool-suite-download

Download and Install Eclipse
First download and install the SpringSource Tool Suite on your development machine .

Steps to create maven web project
1.Open eclipse IDE and
go to File-&amp;gt;New-&amp;gt; Other..
as shown in Figure 1 below:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj16TuS53q8wutwaZs6vzp63GSegGiJJV0uAvEr4oNexmqCOovZ_pvJGb5VemuHXEGwSKfeVBQ3Gf7hcrpeZOT-cjS0h8iQfBY9maSQqUTD1VuERSr-FJNCwfbbr43FpnjzJH3Z14wZ660x/s1600/1.PNG&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj16TuS53q8wutwaZs6vzp63GSegGiJJV0uAvEr4oNexmqCOovZ_pvJGb5VemuHXEGwSKfeVBQ3Gf7hcrpeZOT-cjS0h8iQfBY9maSQqUTD1VuERSr-FJNCwfbbr43FpnjzJH3Z14wZ660x/s320/1.PNG&quot; id=&quot;BLOGGER_PHOTO_ID_5404962935401299490&quot; style=&quot;cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 320px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;color: navy;&quot;&gt;1. Select maven -&amp;gt;maven project
as shown in Figure 2 below:&lt;/span&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir0nLBe_4yAQhX-f-kKWekWHo5BFLmy23cNa9BogpN6e57oCjyXP2Ajppjc-SHKDzCawINzfj5GI_9ItJW0P44Ga1msOQbYmTKTtARHTefkQTyriB-Uvdn8vbeYCCJ41ijjz4kZPax2xGc/s1600/2.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;                                                       &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir0nLBe_4yAQhX-f-kKWekWHo5BFLmy23cNa9BogpN6e57oCjyXP2Ajppjc-SHKDzCawINzfj5GI_9ItJW0P44Ga1msOQbYmTKTtARHTefkQTyriB-Uvdn8vbeYCCJ41ijjz4kZPax2xGc/s320/2.jpg&quot; id=&quot;BLOGGER_PHOTO_ID_5404966567309011250&quot; style=&quot;cursor: pointer; height: 320px; width: 308px;&quot; /&gt;&lt;/a&gt;
Click next-&amp;gt;next-&amp;gt; in Filter  field type &#39;webapp&#39;
and select group id org.apache.maven.archetypes
&lt;span style=&quot;color: navy;&quot;&gt; as shown in Figure 3 below:&lt;/span&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2ru-Pc7oT5jyx_gWft39kWxtjihyphenhyphenxPHQSQI9Ijp3QOn2h0rKgYtuW-9e6QCLJqBlGJd4YhV2SkOjLeQpE2dZG7CUUjJYatoxgLN_8ZLOEKoO2vM00hW2ouQanQUhrXbpY9TbgYvYbeLu0/s1600/3.PNG&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;                              &lt;/a&gt;
                              &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2ru-Pc7oT5jyx_gWft39kWxtjihyphenhyphenxPHQSQI9Ijp3QOn2h0rKgYtuW-9e6QCLJqBlGJd4YhV2SkOjLeQpE2dZG7CUUjJYatoxgLN_8ZLOEKoO2vM00hW2ouQanQUhrXbpY9TbgYvYbeLu0/s1600/3.PNG&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;     &lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2ru-Pc7oT5jyx_gWft39kWxtjihyphenhyphenxPHQSQI9Ijp3QOn2h0rKgYtuW-9e6QCLJqBlGJd4YhV2SkOjLeQpE2dZG7CUUjJYatoxgLN_8ZLOEKoO2vM00hW2ouQanQUhrXbpY9TbgYvYbeLu0/s1600/3.PNG&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2ru-Pc7oT5jyx_gWft39kWxtjihyphenhyphenxPHQSQI9Ijp3QOn2h0rKgYtuW-9e6QCLJqBlGJd4YhV2SkOjLeQpE2dZG7CUUjJYatoxgLN_8ZLOEKoO2vM00hW2ouQanQUhrXbpY9TbgYvYbeLu0/s320/3.PNG&quot; id=&quot;BLOGGER_PHOTO_ID_5404969238872822226&quot; style=&quot;cursor: pointer; height: 272px; width: 320px;&quot; /&gt;&lt;/a&gt;

Click next-&amp;gt; give group id name &#39;&lt;span style=&quot;font-size: medium;&quot;&gt;com.testmaven&lt;/span&gt;&#39; and artifact &#39; &lt;span style=&quot;font-size: medium;&quot;&gt;hello&lt;/span&gt;&#39; ,other option remain default
&lt;span style=&quot;color: navy;&quot;&gt; &lt;span style=&quot;color: black;&quot;&gt;as shown in Figure 4 below:&lt;/span&gt;&lt;/span&gt;

&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2ru-Pc7oT5jyx_gWft39kWxtjihyphenhyphenxPHQSQI9Ijp3QOn2h0rKgYtuW-9e6QCLJqBlGJd4YhV2SkOjLeQpE2dZG7CUUjJYatoxgLN_8ZLOEKoO2vM00hW2ouQanQUhrXbpY9TbgYvYbeLu0/s1600/3.PNG&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;                              &lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8JSb78JWFdk5cum-7I9ghyphenhyphenZNkzdbUssceZiKWDp7Bm8zOaVq19A32_0wNy27QU59TTz7HGLyZpir-SeERD6R3lpk0LSR2Uv_Q2dJAXY2RrdCxmn7wz_QL16YoKYOXUj43MALq6ynxrPTt/s1600/4.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8JSb78JWFdk5cum-7I9ghyphenhyphenZNkzdbUssceZiKWDp7Bm8zOaVq19A32_0wNy27QU59TTz7HGLyZpir-SeERD6R3lpk0LSR2Uv_Q2dJAXY2RrdCxmn7wz_QL16YoKYOXUj43MALq6ynxrPTt/s320/4.jpg&quot; id=&quot;BLOGGER_PHOTO_ID_5404972057501168658&quot; style=&quot;cursor: pointer; height: 284px; width: 320px;&quot; /&gt;&lt;/a&gt;

Click finish .  Select Project &lt;span style=&quot;font-weight: bold;&quot;&gt;hello&lt;/span&gt;  and run on server

&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirtmZ1kYvYvKksLgn-guJe2YgRvb2BEgGVg2JE-KadRZQvzU-j468AydCXEn0NFlxQmI9Dq6dJiAEb0ouRebfr7CZKMGAt_CXWMTadXNRPqq8hy6CbuWAjjydQcOgSBxLyCsiFKYxCHhQJ/s1600/5.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirtmZ1kYvYvKksLgn-guJe2YgRvb2BEgGVg2JE-KadRZQvzU-j468AydCXEn0NFlxQmI9Dq6dJiAEb0ouRebfr7CZKMGAt_CXWMTadXNRPqq8hy6CbuWAjjydQcOgSBxLyCsiFKYxCHhQJ/s320/5.jpg&quot; id=&quot;BLOGGER_PHOTO_ID_5404973289846472930&quot; style=&quot;cursor: pointer; height: 259px; width: 320px;&quot; /&gt;&lt;/a&gt;
select springsource dm server and click finish (you can add any server such as tomcat  by manually define a new server)
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBwAk6bxCaULnDw1HbIFKyE3HI7lvmgZ-BlLLHQkLOH6nISZo-LPN3jYAMvTdkbqhF_T9eJZKpmjItY00jj7sRKEjPl9TF6uO68wwRB_RmcAx4lHvGj65UH5pUbfBxRsRn4-jO63V-NFZq/s1600/6.PNG&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBwAk6bxCaULnDw1HbIFKyE3HI7lvmgZ-BlLLHQkLOH6nISZo-LPN3jYAMvTdkbqhF_T9eJZKpmjItY00jj7sRKEjPl9TF6uO68wwRB_RmcAx4lHvGj65UH5pUbfBxRsRn4-jO63V-NFZq/s320/6.PNG&quot; id=&quot;BLOGGER_PHOTO_ID_5404975518174768930&quot; style=&quot;cursor: pointer; height: 320px; width: 246px;&quot; /&gt;&lt;/a&gt;

Now you can see &lt;span style=&quot;font-weight: bold;&quot;&gt;Hello World&lt;/span&gt; out put in the browser
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaYoMiYkT1Kh__bp3B4tE9B5kihZxoW-gfZ8LfWRv-hHMMDkm1dAHg6XYBO4mqu6mQso-ykxbprpPwLYjM0NvFwVqw9d23QIXU-7OguBGdZaMx1jSoBrLSPxYpmuqx4MQ-FKdj6f0BamKu/s1600/7.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaYoMiYkT1Kh__bp3B4tE9B5kihZxoW-gfZ8LfWRv-hHMMDkm1dAHg6XYBO4mqu6mQso-ykxbprpPwLYjM0NvFwVqw9d23QIXU-7OguBGdZaMx1jSoBrLSPxYpmuqx4MQ-FKdj6f0BamKu/s320/7.jpg&quot; id=&quot;BLOGGER_PHOTO_ID_5404982313165658114&quot; style=&quot;cursor: pointer; height: 78px; width: 320px;&quot; /&gt;&lt;/a&gt;



</content><link rel='replies' type='application/atom+xml' href='http://sknath.blogspot.com/feeds/7467691293394247187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sknath.blogspot.com/2009/11/maven-hello-worldpart-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/7467691293394247187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5348911724393337928/posts/default/7467691293394247187'/><link rel='alternate' type='text/html' href='http://sknath.blogspot.com/2009/11/maven-hello-worldpart-1.html' title='Maven Hello World(Part 1)'/><author><name>Sujan</name><uri>http://www.blogger.com/profile/16869904042554169825</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj16TuS53q8wutwaZs6vzp63GSegGiJJV0uAvEr4oNexmqCOovZ_pvJGb5VemuHXEGwSKfeVBQ3Gf7hcrpeZOT-cjS0h8iQfBY9maSQqUTD1VuERSr-FJNCwfbbr43FpnjzJH3Z14wZ660x/s72-c/1.PNG" height="72" width="72"/><thr:total>0</thr:total></entry></feed>