小编And*_*rew的帖子

在 IntelliJ 中调试之前如何调用批处理文件来设置环境变量

我有在运行 Java 应用程序之前设置环境变量的 shell 脚本。我想在 IDE 中运行/调试之前在 IntelliJ 中调用这些脚本。我发现我可以将它们配置为在“配置”->“启动前”下作为外部工具运行。然而,它们似乎在另一个窗口中运行,并且环境变量不会转移到启动 JVM 的会话中。有什么办法可以实现这一点吗?谢谢。

intellij-idea

6
推荐指数
0
解决办法
216
查看次数

使用3.0驱动程序的Java中的Tailable Cursor示例?

有人可以在Java中提供完整的tailable游标示例吗?我使用3.0驱动程序,所有示例似乎是2.x. 我的classpath中只有mongo-java-driver-3.0.0.jar.我希望得到所有文件,因为它们被插入到我的上限集合中.

//this does not work...
MongoCollection<BasicDBObject> col = database.getCollection(colName, BasicDBObject.class);
DBCursor cur = col.find().sort(new BasicDBObject("$natural", 1))
.addOption(Bytes.QUERYOPTION_TAILABLE)
.addOption(Bytes.QUERYOPTION_AWAITDATA);


// And this does not work...
BasicDBObjectBuilder builder = BasicDBObjectBuilder.start();
builder.add("messageType","STATUS_REQUEST");
DBObject searchQuery = builder.get();
DBObject sortBy = BasicDBObjectBuilder.start("$natural", 1).get();
BasicDBObjectBuilder builderForFields = BasicDBObjectBuilder.start();
DBObject fields = builderForFields.get();
DBCursor cursor = new DBCursor(col, searchQuery, fields, ReadPreference.primary()  );
cursor.sort(sortBy);
cursor.addOption(Bytes.QUERYOPTION_AWAITDATA);
cursor.addOption(Bytes.QUERYOPTION_TAILABLE);

//this does work but only returns the messageNumber field. I need the doc.
  MongoCursor<Long> c = database.getCollection(colName).distinct("messageNumber", Long.class).iterator();
Run Code Online (Sandbox Code Playgroud)

我看到MongoCursor接口是在3.0中添加的.这是什么,它取代了DBCursor?

非常感谢

java mongodb

5
推荐指数
2
解决办法
3242
查看次数

Gradle 复合构建。未找到项目。includeBuild 不起作用?

我有 2 个项目,my-app 和 string-utils。My-app 依赖于 string-utils。在构建我的应用程序时,我得到:

“在根项目‘my-app’中找不到路径为‘:string-utils’的项目

不应该 includeBuild 在这里工作吗?

我的 Gradle 扫描在这里

??? my-app
?   ??? build
?   ??? build.gradle
?   ??? settings.gradle
?   ??? src
??? string-utils
    ??? build
    ??? build.gradle
    ??? settings.gradle
    ??? src
Run Code Online (Sandbox Code Playgroud)

/my-app/settings.gradle:

rootProject.name = 'my-app'
includeBuild '../string-utils'
Run Code Online (Sandbox Code Playgroud)

/my-app/build.gradle:

plugins {
    id 'java'
    id 'application'
    id 'idea'
}
group "org.sample"
version "1.0"
application {
    mainClassName = "org.sample.myapp.Main"
}
dependencies {
  implementation project(':string-utils')
}
repositories {
    jcenter()
}
Run Code Online (Sandbox Code Playgroud)

/string-utils/settings.gradle:

rootProject.name = 'string-utils'
Run Code Online (Sandbox Code Playgroud)

运行时: …

java gradle build.gradle

5
推荐指数
1
解决办法
2024
查看次数

如何防止将JavaFX窗口最大化到全屏显示?

我已经做到了...

myStage.initStyle(StageStyle.UTILITY);
Run Code Online (Sandbox Code Playgroud)

可以很好地删除最大化按钮,但是仍然可以双击窗口标题栏(在Windows中)以最大化窗口。

我试过了,但没有成功。

myStage.fullScreenProperty().addListener(new ChangeListener<Boolean>() {
            @Override
            public void changed(ObservableValue<? extends Boolean> prop, Boolean wasIconified, Boolean isIconified) {
                System.out.println("ignore fullscreen");
            }
        });
Run Code Online (Sandbox Code Playgroud)

是否有其他方法可以消耗该事件,所以它没有效果?

javafx javafx-2 javafx-8

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

IBM MQ 在 SSL 握手时抛出 java.lang.UnsupportedOperationException

打电话时:

MQQueueConnectionFactory cf ...
cf.createConnection();
Run Code Online (Sandbox Code Playgroud)

com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.handshakeCompleted 方法开始:

public void handshakeCompleted(HandshakeCompletedEvent event) {
 X509Certificate[] peerCertificateChain = event.getPeerCertificateChain();
 ...
Run Code Online (Sandbox Code Playgroud)

javax.net.ssl.SSLSession 中的 getPeerCertificateChain:

default X509Certificate[] getPeerCertificateChain() throws SSLPeerUnverifiedException {
    throw new UnsupportedOperationException("This method is deprecated and marked for removal. Use the getPeerCertificates() method instead.");
}
Run Code Online (Sandbox Code Playgroud)

导致此异常:

Exception in thread "HandshakeCompletedNotify-Thread" java.lang.UnsupportedOperationException: This method is deprecated and marked for removal. Use the getPeerCertificates() method instead.
    at java.base/javax.net.ssl.SSLSession.getPeerCertificateChain(SSLSession.java:295)
    at java.base/javax.net.ssl.HandshakeCompletedEvent.getPeerCertificateChain(HandshakeCompletedEvent.java:173)
    at com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.handshakeCompleted(RemoteTCPConnection.java:2448)
    at java.base/sun.security.ssl.TransportContext$NotifyHandshake$1.run(TransportContext.java:685)
    at java.base/sun.security.ssl.TransportContext$NotifyHandshake$1.run(TransportContext.java:682)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
    at java.base/sun.security.ssl.TransportContext$NotifyHandshake.run(TransportContext.java:682)
    at java.base/java.lang.Thread.run(Thread.java:832)
Run Code Online (Sandbox Code Playgroud)

该项目唯一的 IBM MQ …

java ssl jms ibm-mq

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

当我尝试使用closeFuture()关闭io.netty.channel.Channel时,Netty应用程序挂起

当我尝试关闭io.netty.channel.Channel TCP/IP客户端连接时,My Netty应用程序挂起.

我做:

ch.isOpen(); //this is TRUE
ch.closeFuture().sync(); //never returns
Run Code Online (Sandbox Code Playgroud)

线程调用同步的堆栈跟踪在这里.

JavaFX Application Thread@583, prio=5, in group 'main', status: 'WAIT'
at java.lang.Object.wait(Object.java:-1)
at java.lang.Object.wait(Object.java:502)
at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:260)
at io.netty.channel.DefaultChannelPromise.await(DefaultChannelPromise.java:129)
at io.netty.channel.DefaultChannelPromise.await(DefaultChannelPromise.java:28)
at io.netty.util.concurrent.DefaultPromise.sync(DefaultPromise.java:224)
at io.netty.channel.DefaultChannelPromise.sync(DefaultChannelPromise.java:117)
at io.netty.channel.DefaultChannelPromise.sync(DefaultChannelPromise.java:28)
at MyClient.stop(MyClient.java:46)
Run Code Online (Sandbox Code Playgroud)

有什么东西可以阻止频道关闭吗?我可以用另一种方式强制关闭吗?

谢谢!

java netty

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

标签 统计

java ×4

build.gradle ×1

gradle ×1

ibm-mq ×1

intellij-idea ×1

javafx ×1

javafx-2 ×1

javafx-8 ×1

jms ×1

mongodb ×1

netty ×1

ssl ×1