六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 152|回复: 0

Tomcat与Derby集成

[复制链接]

升级  56%

8

主题

8

主题

8

主题

童生

Rank: 1

积分
28
 楼主| 发表于 2013-1-14 23:07:57 | 显示全部楼层 |阅读模式
      一直以来在写程序的时候觉得有许多数据是运行这个程序本身需要的,和用户的数据没有什么关系,都放在一个库里有点不合适。分开放要同时连接两个以上的大型数据库(客户的数据一般都放在大型的数据库里面)好象也不太合适。
        在网上一查发现Derby这个东西不错,人家说了:),查资料,做DEMO。最后发现它不能够和TOMCAT一块起来,还得单独起动它的网络服务。这怎么能行呢?
     最后在http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/dm-0508bader/index.html查到一篇文章。但它写得很麻烦,可能是我没有用到那么多功能。我整理如下步骤:
        1、修改TOMCAT_HOME\conf\catalina.properties文件,在common.loader键最后面加入DERBY的JAR,这是TOMCAT启动时加载的类的路径,这个不改也可以,需要把DERBY的JAR放到TOMCAT_HOME/common/lib下。这样更简单一些。
        2、修改TOMCAT_HOME\conf\server.xml文件,在 <Server> 元素的开头添加下列元素:   
<Listener className="org.apache.derby.tomcat.ServerLifecycleListenerWithNetworkServer" debug="0" />
这个类的源代码如下 :


<div style="padding: 4px 5.4pt; width: 95%;">package org.apache.derby.tomcat;

import org.apache.derby.tomcat.ServerLifecycleListener;

public class ServerLifecycleListenerWithNetworkServer
    
extends ServerLifecycleListener
...{
    
public static final String START_NETWORK_SERVER =
        
"derby.drda.startNetworkServer";

    
public static final String HOST =
        
"derby.drda.host";

    
public static final String PORT_NUMBER =
        
"derby.drda.portNumber";

    
protected void initializeCloudscape() ...{
        System.setProperty(
            START_NETWORK_SERVER,
            
"true"
        );
        
super.initializeCloudscape();
    }



}

您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表