小编nab*_*lex的帖子

焊接不是注射

我正在尝试在java SE中设置一个非常简单的焊接实现.

我有扩展类:

public class MyExtension implements Extension {

    void beforeBeanDiscovery(@Observes BeforeBeanDiscovery bbd) {
        System.out.println("Starting scan...");
    }      
    <T> void processAnnotatedType(@Observes ProcessAnnotatedType<T> annotatedType, BeanManager beanManager) {
        System.out.println("Scanning type: " + annotatedType.getAnnotatedType().getJavaClass().getName());
    } 
    void afterBeanDiscovery(@Observes AfterBeanDiscovery abd) {
        System.out.println("Finished the scanning process");
    }

    public void main(@Observes ContainerInitialized event) {
        System.out.println("Starting application");
        new Test();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个我想要注入的简单类:

public class SimpleClass {
    public void doSomething() {
        System.out.println("Consider it done");
    }
}
Run Code Online (Sandbox Code Playgroud)

最后我要把它注入的课程:

public class Test {

    @Inject
    private SimpleClass simple;

    @PostConstruct
    public void initialize() …
Run Code Online (Sandbox Code Playgroud)

java weld

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

获取 zip 条目的实际大小

我必须分析 zip 文件以检查其中的内容有多大,但是 ZipEntry.getSize() 不断返回 -1。如果原始尺寸未知,则这是根据规格的,但由于某种原因,7-zip 似乎确实知道实际尺寸,因为如果我用它打开 zip,就会显示它。

有谁知道 7-zip 是如何做到这一点的?它只是简单地估计吗?

java zip 7zip

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

使用apache http客户端通过代理进行HTTP

我有一个基于apache http客户端的http客户端,它似乎没有ssl证书的问题.我对全球认可的证书和自签名证书进行了单元测试,并使用自定义SSLSocketFactory.

但是当我在代理后面运行相同的代码时,它停止了工作.我一直得到这个可怕的例外:

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
at com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:352)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:640)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
Run Code Online (Sandbox Code Playgroud)

我将代码减少到最低限度,它仍然会抛出相同的异常.代码:

    URI uri = new URI("https://www.google.com");
    DefaultHttpClient client = new DefaultHttpClient();
    client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, 
            new HttpHost("proxy.int", 8080, "https"));

    HttpUriRequest request = new HttpGet(uri);
    HttpResponse response = client.execute(request);
Run Code Online (Sandbox Code Playgroud)

如果没有指定任何内容,我不确定它是否使用默认的ssl设置,所以我也明确地添加了它:

    URI uri = new URI("https://www.google.com");
    DefaultHttpClient client = new DefaultHttpClient();
    client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, 
            new HttpHost("proxy.int", 8080, "https"));

    client.getConnectionManager().getSchemeRegistry().register(
            new Scheme("https", 443, SSLSocketFactory.getSystemSocketFactory()));

    HttpUriRequest request = new HttpGet(uri);
    HttpResponse response = client.execute(request); …
Run Code Online (Sandbox Code Playgroud)

java apache ssl http

2
推荐指数
1
解决办法
1万
查看次数

JSF重新渲染复合组件:insertChildren问题

我正在JSF中创建我的第一个复合组件,但我被一个表现奇怪的rerender难倒.这是组件实现(它意味着是一个弹出窗口):

    <composite:implementation>
    <h:outputScript name="nb-popup.js" library="js"/>
    <h:outputStylesheet name="nb-popup.compiled.css" library="style"/>
    <div id="#{cc.clientId}_container" class="nb_popup_container">
        <div style="width:#{cc.attrs.width};height:#{cc.attrs.height};" id="#{cc.clientId}" class="nb_popup">
            <div id="#{cc.clientId}_header" class="nb_popup_header">
                <span class="nb_popup_header_content">
                    <composite:renderFacet name="header"/>
                </span>
                <span class="nb_popup_header_controls">
                    <composite:renderFacet name="controls"/>
                </span>
            </div>
            <div id="#{cc.clientId}_content" class="nb_popup_content">
                <composite:insertChildren/>
            </div>
        </div>
    </div>
    <script>popup('#{cc.clientId}');</script>
</composite:implementation>
Run Code Online (Sandbox Code Playgroud)

例如,假设我们有:

<nb:popup id="extract">
    test
</nb:popup>
Run Code Online (Sandbox Code Playgroud)

生成的HTML没问题:

    <div id="extract_container" class="nb_popup_container">
        <div style="width:auto;height:auto;" id="extract" class="nb_popup">
            <div id="extract_header" class="nb_popup_header">
                <span class="nb_popup_header_content">
                </span>
                <span class="nb_popup_header_controls">
                </span>
            </div>
            <div id="extract_content" class="nb_popup_content">
              test

            </div>
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

现在假设我有一个按钮:

    <h:commandLink value="reload">
        <f:ajax render=":extract"/>
    </h:commandLink>
Run Code Online (Sandbox Code Playgroud)

按下它后,我得到以下部分响应,其中实际内容显然不是它应该是的位置:

    <div id="extract_container" class="nb_popup_container">
        <div style="width:auto;height:auto;" …
Run Code Online (Sandbox Code Playgroud)

jsf rendering composite-component

2
推荐指数
1
解决办法
2907
查看次数

JavaFX文本字段:禁用光标移动

我创建了一个扩展TextField的自定义组件,允许对特定类型的字符串进行高级编辑.

箭头键已经被重新定义,以允许特定的行为,应该不会触发默认插入符移动,但是我似乎不能够从移动停止.我已经消耗了()我能想象到的每种类型的事件,当按下箭头键时,插入符将始终移动.

此外,当键入新字母时,它首先被验证,如果发现无效,则撤消编辑.但是,当您输入的字母无效时,插入符始终移动一个位置,而不应移动.

我目前有逻辑,它将把插入符移动到正确的位置,因此控件或多或少有效,唯一的问题是当代码试图对抗默认移动时,用户看到插入符号疯狂地跳来跳去.

有趣的是:我为控件提供了一个上下文菜单,当显示上下文菜单时,插入符号会停止其默认移动(或者它突然足够快,因此用户看不到它).

我正在深入研究上下文菜单的源代码,看它是否设置或取消设置,但我没有看到它.有任何想法如何停止文本字段的默认插入符号移动?

javafx

2
推荐指数
1
解决办法
2555
查看次数

标签 统计

java ×3

7zip ×1

apache ×1

composite-component ×1

http ×1

javafx ×1

jsf ×1

rendering ×1

ssl ×1

weld ×1

zip ×1