Drools中文问题

zhouxianli 2008-09-12
通过RuleAgent访问BRMS生成的pkg,里面的中文乱码了。(通过drl方式显示正确)
有人知道什么原因,大家都是怎么部署的?

代码如下:
RuleAgent agent = RuleAgent.newRuleAgent("/MyRules.properties");			
RuleBase ruleBase = agent.getRuleBase();
WorkingMemory workingMemory = ruleBase.newStatefulSession(); 
Message message = new Message();
message.setMessage("world");
message.setStatus(Message.HELLO);
System.out.println(message);
workingMemory.insert(message);
workingMemory.fireAllRules();
System.out.println(message);//打印出来的为乱码


规则如下:
package com.sample
import com.sample.Message 
rule "测试规则"
	dialect "java"
	when
		m : Message( message == "world" )
	then
		m.setMessage( "A人A" );
		m.setStatus( 1 );
		update( m );
end
 

Message类代码如下:
package com.sample;

public class Message {
	public static final int HELLO = 0;
	public static final int GOODBYE = 1;

	private String message;

	private int status;

	public String getMessage() {
		return this.message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

	public int getStatus() {
		return this.status;
	}

	public void setStatus(int status) {
		this.status = status;
	}
 
	public String toString() { 
		return "status="+status+",message="+message;
	}
}

richmond 2008-09-14
把properties也贴出来看看吧

之前我也遇到过很奇怪的中文问题
用properties初始化PackageBuilderConfiguration,然后再初始化PackageBuilder,properties里面设置了JavaDialectCompiler的属性,结果规则文件里面的中文出来就变乱码了

后来还是要使用默认构造函数初始化PackageBuilder,然后通过api去改Compiler问题才得到解决

有空得看看源码才知道是怎么回事了
asialee 2013-08-23
我写了一篇文章,希望对大家有所帮助: http://asialee.iteye.com/blog/1926974
Global site tag (gtag.js) - Google Analytics