我有一个logback配置问题.这是我的logback.xml:
<configuration>
<appender name="EMS" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>../logs/ems.log</file>
<append>true</append>
<encoder>
<pattern>[%d{ISO8601}] {%t} [%p] %c - %m%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>../logs/ems.log.%i</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>99</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>50MB</maxFileSize>
</triggeringPolicy>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%d{ISO8601}] {%t} [%p] %c - %m%n</pattern>
</encoder>
</appender>
<logger name="a.b.c" level="DEBUG">
<appender-ref ref="EMS"/>
</logger>
<logger name="a.b.c.d.SomeServiceImpl" level="INFO">
<appender-ref ref="EMS"/>
</logger>
<logger name="a.b.c.e.SomeFilter" level="INFO">
<appender-ref ref="EMS"/>
</logger>
<root level="OFF">
<appender-ref ref="EMS"/>
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
问题是当我为根记录器设置以下行时:
<appender-ref ref="EMS"/>
Run Code Online (Sandbox Code Playgroud)
在ems.log文件中,每行重复:
[2013-12-31 13:16:59,217] {[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'} [DEBUG] a.b.c.f.CallerImpl - qweqweqwe
[2013-12-31 …Run Code Online (Sandbox Code Playgroud) 请问,请告诉我1)为什么可以将构造函数指定为包公开类的公共?例如:
class TestModifiers {
public TestModifiers() {
}
}
Run Code Online (Sandbox Code Playgroud)
此类不能在任何地方实例化,而是在同一个包中.那么对于构造函数使用包可见修饰符是不够的呢?对于这样的类中的任何方法(公共)也是如此(包可见)
2)说,在内部类中我创建了两个私有变量.为什么我能从外层看到他们?不是很奇怪吗?例如:
class A {
A(){}
class B {
private int b1;
private int b2;
}
public static void main(String[] args) {
new B().b1 = 1;
new B().b2 = 2;
}
}
Run Code Online (Sandbox Code Playgroud) 比如,有一个类(A)有一个字段(myField).myField字段的类型是接口(I).一切都是公开的.
我需要调用类的方法,它是*myField*的一种类型.我的代码如下:
Field myField = getField(myClass, "fieldName");
Class fieldClass = myField.getType(); // returns I
try {
Class[] params = {String.class};
Method method = fieldClass.getMethod("methodName", params);
Object[] paramsObj = {new String("input")};
boolean result = (Boolean) method.invoke(WHAT_MUST_I_PUT_HERE, paramsObj);
} catch...
Run Code Online (Sandbox Code Playgroud)
你可以看到问题是我不能做的事情:
WHAT_MUST_I_PUT_HERE = myField.getClass() // returns Field
Run Code Online (Sandbox Code Playgroud)
有人能帮助我吗?
编辑:我试过用
TargetClass o = (TargetClass) myField.get(myClass)
Run Code Online (Sandbox Code Playgroud)
但是发现了IllegalArgumentException
大家好!
我有一个用于 cxf 网络服务(spring 应用程序)的简单存根客户端。它使用 WSS4JOutInterceptor 和 action = "Signature"So,soap 请求消息是(标头):
Content-Type: text/xml; charset=UTF-8
Accept: */*
SOAPAction: ""
User-Agent: Apache CXF 2.4.3
Cache-Control: no-cache
Pragma: no-cache
Host: 127.0.0.1:8888
Connection: keep-alive
Content-Length: 1890
< soap:Header >
< wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" soap:mustUnderstand="1">
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="SIG-2">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="soap" />
</ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<ds:Reference URI="#id-1">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="" />
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<ds:DigestValue>RJhc1ZVjXdUQEIwLTH356p7H0QY=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>F0q0NV7kaSbAcsLHxVpYD1bQ1RAJcw6wPapDKAM9PIcs7EuS9S5PlE4cQMfAp1WgsKa91r3op1OQ5UrYmmdj/UneYawdPIYSaoFBGjndTXZnOCKp4YfRTQGZ2EVJRFHJbPsTsqHedPAyJLHhciViguTGeuA0hZAQN97KB/9ZLmY=</ds:SignatureValue>
<ds:KeyInfo Id="KI-92A4EB90A2868689DC13289669720792">
<wsse:SecurityTokenReference wsu:Id="STR-92A4EB90A2868689DC13289669720823">
<ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=1,OU=1,O=1,L=1,ST=1,C=RU</ds:X509IssuerName> …Run Code Online (Sandbox Code Playgroud)