小编Dea*_*ler的帖子

如何使用gradle复制所有源jar

我们有一个旧的playframework 1.2.x版本,我们将所有的jar复制到project/lib,因此playframework可以使用它们.我们也很乐意复制所有源jar,以便在runnig play eclipsify时,我们可以查看所有第三方源.有没有办法用gradle做到这一点?

当我看到他们下载缓存位置时,我指的是当我运行gradle eclipse时下载的所有源jar.我们在一个项目中为我们调用了eclipsify,因此我们可以100%只使用gradle.

谢谢,迪恩

gradle

9
推荐指数
2
解决办法
2057
查看次数

如何将一种类型的CompletableFuture转换为另一种类型?

我现在将我CompletableFuture<X>来CompletableFuture<Void>,如下图所示,但我不知道是否有一个更好的办法.

@Override
public CompletableFuture<Void> packetEncrypted(ByteBuffer engineToSocketData) {
    return realChannel.write(engineToSocketData).thenApply(c -> empty());
}

public Void empty() {
    return null;
}
Run Code Online (Sandbox Code Playgroud)

java completable-future

9
推荐指数
1
解决办法
4189
查看次数

如何仅在gradle中列出主项目的所有任务?

我很久以前问了这个问题。

有没有办法在Gradle中列出任务依赖项?

并注释了这几天我所做的事情,因为我的项目已经发展到了无数的任务。然后,我可以列出某个项目的所有任务,例如

./gradlew :core:core-channelmanager2:asynch-server:tasks --all
Run Code Online (Sandbox Code Playgroud)

这给了我一个不错的任务列表以及该项目的依赖关系。但是,我的主根项目没有子项目拥有的许多插件,因为它们不需要它们,但是我仍然需要了解它的任务列表。我知道我能做到

./gradlew tasks --all
Run Code Online (Sandbox Code Playgroud)

但这印出了世界。我似乎无法做到这一点

./gradlew :master:tasks --all
Run Code Online (Sandbox Code Playgroud)

也不是

./gradlew :webpieces:tasks --all
Run Code Online (Sandbox Code Playgroud)

webpieces是我在这里的项目... https://github.com/deanhiller/webpieces/blob/master/build.gradle

有没有办法列出所有根项目任务,以便我可以清楚地看到我的根项目?

谢谢,院长

gradle

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

javax.net.ssl.SSLHandshakeException:没有可用的身份验证方案

谷歌揭示了 jdk11.0.2 中的一个错误,但我升级到了 jdk11.0.3,这个错误对我来说仍然存在。重现步骤

  1. git clone https://github.com/deanhiller/webpieces.git
  2. 添加行"org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.0.3.jdk/Contents/Home"以~/.gradle/gradle.properties将 jdk 设置为 11.0.3
  3. ./gradlew :core:core-asyncserver:test从 webpieces 目录运行

测试用例挂起并在日志中显示

Caused by: javax.net.ssl.SSLHandshakeException: No available authentication scheme
    at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:128)
    at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:308)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:255)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateProducer.onProduceCertificate(CertificateMessage.java:945)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateProducer.produce(CertificateMessage.java:934)
    at java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:436)
    at java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.goServerHello(ClientHello.java:1224)
    at java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.consume(ClientHello.java:1160)
    at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:849)
    at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:810)
    at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
    at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)
    at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1065)
    at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1052)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:999)
    at org.webpieces.ssl.impl.AsyncSSLEngine2Impl.createRunnable(AsyncSSLEngine2Impl.java:94)
    ... 12 common frames omitted
Run Code Online (Sandbox Code Playgroud)

我应该提交另一个 JDK bug,还是有人有任何想法?

已解决/相关的 JDK 错误:https://bugs.openjdk.java.net/browse/JDK-8211426

请注意,这会由于某种原因修复它: …

ssl java-11

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

playframework真正异步吗?

最佳答案在评论部分(所以我无法给出答案点数:().

我想知道playframework是否以这种方式异步(这将是真正的异步,或完全异步).是的,前端的play是异步的,允许100个线程上的1000个客户端,但是在后端,没有办法实现这一点,或者我错了(我希望是这样).....

public static void someRequest(String id) {

     //This method adds listener to a nio socket listener so it returns
     //IMMEDIATELY and page can't be rendered at this point
     fetchRemoteDataFromOtherSystem(id, new MyListener());

     // DO NOT RENDER PAGE YET but return so thread can be used for other requests
}

public class MyListener extends SomeListener {
    public void fireResponse(Response response) {
        renderPage(response);
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,这将是极端异步行为,并且还要注意,如果您的后端系统需要几秒钟来响应每个请求,那么现在需要大约100台机器来为相同数量的用户提供服务.在后端系统速度非常快的正常环境中,当然没有性能差异.

谢谢,迪恩

playframework

8
推荐指数
1
解决办法
2166
查看次数

Docker 环境变量无法通过运行命令传递到 shell 脚本

我正在尝试完全按照这里的答案做

如何在 ENTRYPOINT 数组中使用 Docker 环境变量?

但由于某种原因,它不起作用,这是我的deploy.sh脚本..

#!/bin/bash
#IF ANY command fails, fail the script
set -e
echo "Deploying $@"
Run Code Online (Sandbox Code Playgroud)

这是我的 Docker 文件

FROM gcr.io/google.com/cloudsdktool/cloud-sdk:alpine
ENV SERVICE="default"
RUN mkdir -p ./monobuild
COPY . ./monobuild/
WORKDIR "/monobuild"
ENTRYPOINT ./deploy.sh "${SERVICE}"
Run Code Online (Sandbox Code Playgroud)

这是我的 docker run 命令,我尝试在其中提供服务。(如果也没有提供服务,我宁愿失败)

docker run gcr.io/orderly-gcp/prod-deploy -e SERVICE=blah
Run Code Online (Sandbox Code Playgroud)

然而,当我运行该命令时,我的输出很简单

Deploying default
Run Code Online (Sandbox Code Playgroud)

我不确定为什么我遵循了该示例 SO 帖子,但这仍然不起作用?

docker

8
推荐指数
1
解决办法
6104
查看次数

如何在Ninject中使用Provider

我有以下代码

public class Something {
    [Inject]
    public Configuration config {get;set;} //singleton
    [Inject]
    public Provider<WindowHandler> windowsProvider { get; set; } //NOT singleton

    public void Search(string text) {
        WindowHandler handler = windowsProvider.Create(xxxxxx);
        //use the new handler that was created
    }
}
Run Code Online (Sandbox Code Playgroud)

但似乎提供商采用了IContext,我放了xxxxxx.不应该使用IContext从我引导并从内核创建Something.cs时使用.Provider上的no参数Create方法在哪里??? (我来自Guice的土地观点,它将被编码如上).

所以问题是如何正确地做到这一点?

谢谢,迪恩

c# ninject

7
推荐指数
1
解决办法
5397
查看次数

hibernate getId正在加载对象,即使它是惰性的

我记得在JPA或hibernate中都有一个注释来告诉hibernate使用getId/setId方法而不是属性(我们注释我们的属性).如果没有这个设置,getId会导致命中数据库并填充该对象的所有字段,这不是我想要的.有谁知道那个注释是什么?

例:

public void Project {
  @Id
  //Other annotation forcing hibernate to use property get/settter
  public Long id;
}

public Ticket {
  @ManyToOne(lazy=true)
  public Project project;
}
Run Code Online (Sandbox Code Playgroud)

因此,当id已经在hibernate项目代理对象中时,ticket.getProject.getId()导致命中数据库以获取项目.注释将解决我记得的问题.

谢谢,迪恩

hibernate

7
推荐指数
1
解决办法
3498
查看次数

kafka有异步请求/响应java api吗?

我们宁愿在生产者上使用像这样的异步请求/响应

private class MyCallback implements ResponseCallback {
    public void response(Response r) {
        //handle failure or success.  If success, ack the upstream kafka
    }
}
producer.send(request, callback);
Run Code Online (Sandbox Code Playgroud)

我唯一看到的是将producer.type设置为asynch,但调用只是一个异步请求而不等待任何响应......

producer.send(request);
Run Code Online (Sandbox Code Playgroud)

这不幸地迫使我进行同步,这意味着在加载时,我的线程在kafka上等待可能会开始减慢速度,因为我更愿意只用一堆请求猛击kafka并在我不断发送请求时收到响应.

谢谢,迪恩

apache-kafka

7
推荐指数
1
解决办法
3672
查看次数

在返回alexa(亚马逊回声)之前,我可以将AWS lamba函数保持多长时间?

这仅适用于演示和Alexa(亚马逊回声)不支持我们将文本推送到它随机说话,所以我们想要完成一个黑客.

  1. 用户对Alexa说话
  2. 我们让lambda执行一个动作,然后希望睡眠并等待API响应,直到我们做某事才会发生
  3. 然后我们可以发布另一个用户的回复
  4. Lambda现在返回文本

通过这种方式,我们试图通过Alexa模拟双向通信.

我不得不担心Alexa超时吗?如果是这样,需要多长时间?我的Lambda也会超时(我假设我只能睡在那段代码中或挂在远程调用上)?

aws-lambda amazon-echo

7
推荐指数
1
解决办法
3219
查看次数