Start Apache Derby Network Server usng Spring
March 31, 2013
Leave a comment
Get System properties from java.lang.System and add “derby.system.home” location into it
<bean id="systemProp" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetObject"> <!-- System.getProperties() --> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetClass" value="java.lang.System" /> <property name="targetMethod" value="getProperties" /> </bean> </property> <property name="targetMethod" value="putAll" /> <property name="arguments"> <!-- The new Properties --> <util:properties> <prop key="derby.system.home">d:\\wp-admin</prop> </util:properties> </property> </bean>
Get localhost InetAddress to start Derby network server on it.
<bean id="derbyServerIP" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetObject"> <bean class="java.net.InetAddress" /> </property> <property name="targetMethod"> <value>getByName</value> </property> <property name="arguments" value="localhost" /> </bean>
Create bean of Derby org.apache.derby.drda.NetworkServerControl class
<bean id="derbyServer" class="org.apache.derby.drda.NetworkServerControl" destroy-method="shutdown" depends-on="systemProp"> <constructor-arg ref="derbyServerIP" /> <constructor-arg value="1527" /> </bean>
Create Printwriter object to use as log output reader for derby network server
<bean id="pw" class="java.io.PrintWriter"> <constructor-arg> <util:constant static-field="java.lang.System.out" /> </constructor-arg> <constructor-arg value="true" /> </bean>
Finaly start derby network server
<bean id="startDerby" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" depends-on="derbyServer"> <property name="targetObject"> <ref local="derbyServer" /> </property> <property name="targetMethod"> <value>start</value> </property> <property name="arguments" ref="pw" /> </bean>
created datasource to connect to derby server
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" depends-on="startDerby"> <property name="driverClassName" value="org.apache.derby.jdbc.ClientDriver" /> <property name="url" value="jdbc:derby:wp-admin;create=true" /> <property name="initialSize" value="2" /> <property name="maxActive" value="5" /> </bean>
create entitymanager to work on derby server
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="persistenceUnitName" value="spring-jpa" /> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="showSql" value="false" /> <property name="generateDdl" value="true" /> <property name="database" value="DERBY" /> </bean> </property> </bean>
attache transaction manager to entirymanager factory
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean>
create entitymanager from entitymanager factory
<bean id="entityManager" class="org.springframework.orm.jpa.support.SharedEntityManagerBean"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean>
Categories: Apache, Database, Derby, Derby Network server, JPA, Spring, Spring ORM, SQL, Uncategorized
Apache derby, Derby Network Server, Java, JPA, Spring ORM
You must be logged in to post a comment.