小编Dmi*_*try的帖子

Logback重复记录

我有一个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)

logback slf4j

4
推荐指数
1
解决办法
4054
查看次数

Java Puzzle:修饰符

请问,请告诉我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)

java

3
推荐指数
1
解决办法
260
查看次数

Java反射:获取Field为接口类型的字段值

比如,有一个类(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

java reflection

3
推荐指数
1
解决办法
8136
查看次数

从 SOAP 安全标头获取 X509Certificate

大家好!

我有一个用于 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)

java security spring cxf x509certificate

3
推荐指数
1
解决办法
6982
查看次数

标签 统计

java ×3

cxf ×1

logback ×1

reflection ×1

security ×1

slf4j ×1

spring ×1

x509certificate ×1