当我们使用URI配置骆驼端点时,默认情况下参数值将进行url编码。当我们想按原样配置密码时,这可能是个问题。
为此,我们可以通过将值包含在RAW(value)中来告诉Camel使用原始值。 http://camel.apache.org/how-do-i-configure-endpoints.html
但这不适用于邮件端点URI。
这是代码。
public String getURL()
{
String url = "";
try{
URI uri = new URI(this.emailServer.toString());
url = "imaps://"+uri.getHost()+"?username="+this.username+"&password=RAW("+this.password+")&folderName="+this.getMailBox()+"©To="+this.getMailBox()";
} catch (Exception ex){
ex.printStackTrace();
}
return url;
}
但是它在aws端点上工作正常
public String getURL(){
String fromURL = "";
fromURL = "aws-sqs://" + getQueueName() + "?accessKey=" + getS3AccessKey() + "&secretKey=RAW(" + getS3SecretKey() + ")®ion=" + getQueueRegion() + "&queueOwnerAWSAccountId=" + getS3SQSAWSClientID();
return fromURL;
}
有什么主意吗?