鉴于新的Java8,我们为异步任务获得了非常好的功能,例如CompletableFuture和.paralellStream().如果你在Java SE中运行它,因为我已经理解它你将使用ForkJoinPool,但是如果我在例如Wildfly或TomcatEE中运行以下示例会发生什么?
//Here I start a comp.Future without giving an Executor
test = CompletableFuture.supplyAsync(() -> timeConsumingMethod());
//Here I start a parallel stream
mList.paralell().filter(...).collect(Collectors.toList())
Run Code Online (Sandbox Code Playgroud)
会发生什么,我将从哪里借用我的资源
我使用Intent让用户选择一个文件,在用户完成之后我想知道所选文件是什么类型的文件类型.
意图:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
Run Code Online (Sandbox Code Playgroud)
在我的onActivityResult中,我想通过intent.getData()和它的所有"submethods"(getScheme(),getLastPathSegment()等)从intent中提取路径.但是,我只获取所选文件的Uri.
Uris'的例子:
Uri: content://media/external/audio/media/15185 //This is an audiofile
Uri: content://media/external/audio/media/20 //Another audiofile
Uri: content://media/external/images/media/20577 //this is a picture
Uri: file:///storage/emulated/0/testWed%20Apr%2017%2011%3A10%3A34%20CEST%202013 //This is a file
Run Code Online (Sandbox Code Playgroud)
我已经看到了当用户只被允许选择图像或音频时如何获得绝对路径的解决方案.但是,如果我想允许用户从不同的文件类型中进行选择,我该如何获取absolutePath(具有名称和文件结尾的真实路径,例如MyPicture.jpeg)?
代码我一直在试图获取onActivityResult中的路径名(int requestCode,int resultCode)
String fileName = data.getData().getLastPathSegment().toString();
System.out.println("Uri: " +data.getData().toString());
File f = new File(fileName);
System.out.println("TrYinG wIWThA Da FiLE: " +f.getAbsolutePath());
System.out.println("FileNAME!!!: "+fileName);
Run Code Online (Sandbox Code Playgroud) I am running a keycloak (version 11.01) and have added an SAML 2.0 identity provider. It seems that all handshakes and logins are working, but after that step I get a NullPointerException (if I've interpreted the error logs correctly)
00:27:04,170 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-5) Uncaught server error: org.keycloak.broker.provider.IdentityBrokerException: Could not process response from SAML identity provider.
at org.keycloak.broker.saml.SAMLEndpoint$Binding.handleLoginResponse(SAMLEndpoint.java:444)
at org.keycloak.broker.saml.SAMLEndpoint$Binding.handleSamlResponse(SAMLEndpoint.java:479)
at org.keycloak.broker.saml.SAMLEndpoint$Binding.execute(SAMLEndpoint.java:237)
at org.keycloak.broker.saml.SAMLEndpoint.postBinding(SAMLEndpoint.java:157)
.
.
.
Caused by: java.lang.NullPointerException
at java.util.regex.Matcher.getTextLength(Matcher.java:1283)
at java.util.regex.Matcher.reset(Matcher.java:309)
at java.util.regex.Matcher.<init>(Matcher.java:229)
at java.util.regex.Pattern.matcher(Pattern.java:1093)
at java.util.regex.Pattern.split(Pattern.java:1206) …Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的小端点
\n\nval numbers = it.bodyAsString.parseJsonList<Numbers>()\nprocessedNumbers = numberService.process(numbers)\nGlobalScope.launch {\n sqsService.sendToSqs(processedNumbers)\n}\nit.response.setStatusCode(204).end()\nRun Code Online (Sandbox Code Playgroud)\n\n我使用 GlobalScope 的原因是因为生产者只需要在处理数字后进行确认,所以我试图在并行轨道中进行即发即忘的操作,以便能够立即响应生产者
\n\n使用结构性货币执行此操作的 \xe2\x80\x9c 最佳实践\xe2\x80\x9d 方法是什么?我应该创建自己的作用域(例如 fireAndForgetScope 而不是 GlobalScope)吗?
\n亲爱的程序员你好,
我正在考虑使用docker容器设置我的开发,因为我目前正在使用Windows,我的设置现在如下:
一个docker镜像,包括一个已经启动并已经运行的jboss
在我的Windows文件系统上签出了hg repo,导入到IntelliJ中
共享文件夹,映射到docker镜像中的deploymentfolder
每当我想部署我的战争时,我都会让IntelliJ将这个工件构建为与输出目录爆炸的战争到$ THE_SHARED_FODLER/mywar.war.然后我将使用mywar.war.deploy触摸同一个repo中的文件.由于这是与jboss docker镜像的部署文件夹共享的,因此启动的Jboss现在部署了我的战争.
但是,由于所有IntelliJ都知道我已经为文件系统构建了一个工件,如果我以正常方式部署战争(例如有一个本地方式),我就无法得到任何好的支持. jboss和部署爆炸工件的jboss-run-configuration.前端的东西(html/css)总是可以用咕噜声或类似的东西来解决,但是当谈到jar-libs时,到目前为止我提出的最佳解决方案是:
用maven重建jar并将其复制到$ THE_SHARED_FOLDER/mywar.war/web-inf/lib /
触摸文件mywar.war.redeploy
然而,这使得从代码更改到结果的转换时间大约为30秒o这里提出了一个非常开放的问题:开发一个在docker镜像中运行的应用程序服务器的好方法是什么?今天怎么样?您是否尝试过类似的东西,并认为Docker容器不适合这样做?
关于这个问题的任何意见都非常欢迎:-)
Brgrgs stevie电视