re: Mondrian之初体验 小立飞刀 2008-06-17 17:05
@小白
没遇到过您的问题,看起来应该是缺少Jar包,在www.docjar.com上找找看。
@楷子狐
0 ,0 , 6 ,?,*,6#3 ,? 每个月的第三个星期五的上午6:00:00
59,59,18,?,*,1,? 每周的星期日的下午18:59:59
28,47,9,12,6,?,2008 2008年6月12日上午9:47:28
re: 如何同时启动多个Tomcat服务器 小立飞刀 2008-05-15 14:46
@ok了
客气了
@fei
没试过10g的情况,fei 10g下怎么解决的这个问题?可否赐教
re: Mondrian之初体验 小立飞刀 2007-12-27 17:01
@wdmcln
需要您在工程的 $\WEB-INF\mondrian.properties中配置数据库。
以Oracle DB为例:
#For Oracle DB
mondrian.test.connectOracle=Provider=mondrian; Jdbc=jdbc:oracle:thin:@%Ur_IP%:1521:%Ur_DB_Name%; JdbcUser=%User_Name%; JdbcPassword=%User_Pwd%; Catalog=file:///%Ur_Tomcat_Path%/webapps/mondrian/WEB-INF/queries/mondriantest.xml; JdbcDriver=oracle.jdbc.driver.OracleDriver
re: 如何同时启动多个Tomcat服务器 小立飞刀 2007-12-17 11:42
@sun
启动多个Tomcat服务,Tomcat的版本可以不同,可以分别升级,这几个Tomcat里的应用不会互相影响,并且web应用运行于多个JVM中;
启动多个Tomcat实例,Tomcat的版本相同,web应用也是分别运行在不同的JVM上。
PS:tomcat如何在一个程序版本上运行多个instance
tomcat有个环境变量CATALINA_BASE,用来指定一个目录,tomcat是依据该目录的内容来实现大部分的启动工作的,包括我们最关心的web app的加载,该目录由conf,logs,shared,webapps,work,temp子目录组成。这样,为每个instance新建一个目录,配置好其内容(注意同样要修改server.xml使端口不一样),然后在启动每个instance时使CATALLINA_BASE指向该instance对应的目录,就能实现启动多个instance的目的。可以在instance对应的目录下写一个startup.bat来完成该instance的启动工作,该脚本使用脚本所在的目录作为CATALINA_BASE,可以在从任何目录下运行,并且保留了tomcat启动脚本的参数:
@echo off set CMD_LINE_ARGS= :setArgs if ""%1""=="""" goto doneSetArgs set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 shift goto setArgs :doneSetArgs set EXECUTABLE=%CATALINA_HOME%\bin\startup.bat set CATALINA_BASE=%~dp0 call "EXECUTABLE" %CMD_LINE_ARGS%
re: 如何同时启动多个Tomcat服务器 小立飞刀 2007-12-12 11:22
@sun
那就需要看您的应用的数据源是否相同了,如果不同,肯定是数据不一致了。建议您在Tomcat中配置应用的数据源。
@CC
这个类封装了一些Quartz时间规则的常量,便于自己使用,定义比较灵活,可以根据您的具体情况扩展。
/**
* Quartz时间规则常量类
* CronExRelated
* @author allen
*/
public class CronExRelated {
public static final String _EVERY = "every";
public static final String _ANY = "any";
public static final String _RANGES = "ranges";
public static final String _INCREMENTS = "increments";
public static final String _ADDITIONAL = "additional";
public static final String _LAST = "last";
public static final String _WEEKDAY = "weekday";
public static final String _THENTH = "theNth";
public static final String _CALENDAR = "calendar";
public static final String _TYPE = "type";
/**
* 0 0 6 ? * 1#1 ? monthly
* 0 0 6 ? * 1 ? weekly
* 0 0 6 30 7 ? 2006 useDefined
*/
static String[] headTitle = {"TYPE","SECONDS","MINUTES","HOURS","DAYOFMONTH","MONTH","DAYOFWEEK","YEAR"};
/**
* cron expression special characters
* Map
* specialCharacters
*/
public static Map specialCharacters;
static {
specialCharacters = new HashMap(10);
specialCharacters.put(_EVERY, "*");
specialCharacters.put(_ANY, "?");
specialCharacters.put(_RANGES, "-");
specialCharacters.put(_INCREMENTS, "/");
specialCharacters.put(_ADDITIONAL, ",");
specialCharacters.put(_LAST, "L");
specialCharacters.put(_WEEKDAY, "W");
specialCharacters.put(_THENTH, "#");
specialCharacters.put(_CALENDAR, "C");
specialCharacters.put(_TYPE, headTitle);
}
public static void set(String ex, int index) {
((String[])specialCharacters.get(_TYPE))[index] = ex;
}
}
@haojunq
一开始想采用第一种方法的,毕竟省事嘛。但考虑到安全问题,还有想记录下上传文件的信息,最后采用了第三种。