小编Tou*_*uko的帖子

ORM或有效处理带有订单列的SQL表的东西

我得到了一个使用SQL表的Java应用程序,其中包含按订单列排序的有序实体列表.我想在列表中间添加/删除内容.现在,我想知道是否有一些持久性框架/ orm/you-name-它可以通过批量更新订单列来提供这种功能.

在基本情况下,Hibernate(也可能是其他人)也提供此功能.问题是对象是一次处理的,当列表足够大时会成为问题.替代解决方案是使用批处理SQL更新来执行此操作,例如:

UPDATE table SET order_col = order_col + 1 WHERE order_col > 47
INSERT TO table VALUES ('new_id', 'new_description, ..., 47)
Run Code Online (Sandbox Code Playgroud)

这是由数据库引擎完成的,但不受支持.

现在,我知道在考虑对象及其版本控制,脏检查等时,这种批量更新不太适合.我仍然会问是否有人有一些好主意或是否有一些持久性框架/ ORM /你的名字 - 这会提供一些帮助.当然我可以使用自定义SQL/HQL/...来做事情但是想知道是否已经有一些解决方案(我认为其他人之前可能已经做过类似的事情,甚至把它放在开源之下).还欢迎其他与此问题相关的好主意=)

sql orm persistence list

6
推荐指数
2
解决办法
1539
查看次数

Java文件锁定和Windows - 锁不是"绝对的"?

我正在尝试使用FileLock在Windows环境中使用Java锁定文件,我遇到了一个问题:在我锁定文件之后,至少在某种程度上它仍然可以被其他进程访问.

示例代码如下:

public class SimpleLockExample {
    public static void main(String[] args) throws Exception {
        String filename = "loremlipsum.txt";

        File file = new File(filename);
        RandomAccessFile raf = new RandomAccessFile(file, "rw");
        FileChannel channel = raf.getChannel();

        FileLock lock = null;
        try {
            lock = channel.tryLock();
            String firstLine = raf.readLine();
            System.out.println("First line of file : " + firstLine);
            waitForEnter();
            lock.release();
        } catch (OverlappingFileLockException e) {
            e.printStackTrace();
        }

        lock.release();
        System.out.println("Lock released");

        channel.close();
    }

    private static void waitForEnter() throws Exception {
        BufferedReader reader = …
Run Code Online (Sandbox Code Playgroud)

java windows filelock

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

使用Swing和Java,"Swing-Shell"线程做了什么

通过线程和swing,事件队列(事件调度线程)被广泛地呈现和讨论.

但是,在使用Swing应用程序检查线程状态时,还有一个名为Swing-Shell的线程.通过简短的谷歌搜索我找不到太多的细节,主要是线程堆栈跟踪与错误报告等.

有人可以很快描述该线程的作用.或者甚至更好,是否有人与某些文件有一些联系

编辑:没有足够的细节,我问得太快,抱歉.我经历了各种JFileChooser问题,并出现了一个名为"Swing-Shell"的线程,与文件系统的Windows COM服务有关.可以在Sun Bug#6741890中找到死锁问题中的示例堆栈跟踪 .(线程堆栈跟踪以sun.awt.shell.Win32ShellFolderManager2 $ ComInvoker $ 3.run开头).

随着jconsole的仔细检查,我注意到在我使用JFileChooser之前不存在该线程(例如JFileChooser; Swing-Shell线程可能会由使用Win32ShellFolderManager的任何组件启动)线程似乎也在使用之后存在JFileChooser.

因此,回答自己,该线程似乎是一个单独的线程,用于COM服务与文件相关的操作(仅限Windows?).如果有人可以提供更多细节,欢迎=)

java swing multithreading file

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

在Visual Studio 2010中打开"类资源管理器"

有谁知道我可以在Visual Studio 2010中打开"类资源管理器".我一直在寻找1小时:-(

explorer class visual-studio-2010 visual-studio

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

Micronaut 3:如何使用 PubSubEmulatorContainer

更新:存储库链接已移至答案,因为存储库现在已使用下面答案中的代码进行更新。

问题描述

当前代码正在运行,但它使用来自google/cloud-sdk的gcloud beta 模拟器 pubsub进行集成测试。

  • 由于google/cloud-sdk镜像的大小,集成测试很慢
  • pubsub 模拟器必须在固定端口上运行,似乎无法告诉 Micronaut 模拟器正在哪个端口上运行

我需要在maven-surefire-plugin.

<environmentVariables>
    <PUBSUB_EMULATOR_HOST>localhost:8085</PUBSUB_EMULATOR_HOST>
</environmentVariables>
Run Code Online (Sandbox Code Playgroud)

如何在 Spring Boot 中完成此操作

根据测试容器 | Gcloud Module,在Spring Boot中与PubSubEmulatorContainer实现集成测试的正确方法是这样的:https: //github.com/saturnism/testcontainers-gcloud-examples/blob/main/springboot/pubsub-example/src/test/java /com/example/springboot/pubsub/PubSubIntegrationTests.java

这将在随机端口上启动容器,这在DynamicPropertyRegistrySpring 中是可能的。看来Micronaut缺少这种可能性。

文档: https: //www.testcontainers.org/modules/gcloud/


我正在寻找在 Micronaut 3.x 中实现的 JUnit5 或 Spock 集成测试的工作示例,该测试使用PubSubEmulatorContainer上述文档中描述的方式。

相关文档:https://micronaut-projects.github.io/micronaut-gcp/latest/guide/#emulator


GitHub 上有一些关于配置的评论TransportChannelProvider。我能够注入一个实例并检查它,但我仍然不知道到底要做什么。

这些是迄今为止最接近的线索: https://github.com/micronaut-projects/micronaut-gcp/issues/257 https://github.com/micronaut-projects/micronaut-gcp/pull/259

google-cloud-pubsub micronaut google-cloud-pubsub-emulator

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

如何使用Microsoft Access创建自动管理的"上次更新"字段

最初我想问一下,是否有一种简单的方法可以使用MS Access提供自动管理的最后更新字段.

经过一些谷歌搜索后,我发现了以下方法:

Private Sub Form_Dirty(Cancel As Integer)

   Me.Last_Update = Date()

End Sub
Run Code Online (Sandbox Code Playgroud)

这似乎做了这个工作.我以为我也会和别人分享(如果有人有一些应该考虑的优点,请随时分享)

ms-access

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

如何在按下单独的JBtton时停止使用DefaultCellEditor进行编辑

我得到了一个带有自定义TableCellEditor(扩展DefaultCellEditor)的表,其中JFormattedTextField作为编辑器组件.

现在我遇到了问题:当我在编辑时按下一个单独的按钮.当按下按钮时,编辑器保持"打开并激活",同时我希望它停止编辑,以便所做的更改可用于按钮引起的操作.

因此,当按下一个不同的按钮时,如何使编辑停止.我为JFormattedTextField尝试了setFocusLostBehavior(JFormattedTextField.COMMIT),但它似乎没有效果.

希望有人有一些好主意=)

java swing focus jtable tablecelleditor

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

如何在Windows上限制打包在jar中的Java应用程序的内存使用量(-Xmx似乎不起作用)

我想限制Java应用程序的最大堆大小,但它似乎不起作用.我正在通过Windows中的bat从jar包运行应用程序.蝙蝠内容

@Echo off
set CLASSPATH=.
java -Xmx32m -classpath %CLASSPATH% -jar MyApplication.jar
Run Code Online (Sandbox Code Playgroud)

这应该限制最大堆大小32兆字节.但是,当我使用应用程序消耗内存时,Windows任务管理器显示内存消耗至少达到大约70兆字节...我甚至尝试使用-Xmx2m,但这没有任何区别.

所以,我不完全确定问题是什么.当然,堆栈等包含在内存使用中,但程序使用的内存应该主要是堆空间...

Java版本似乎是1.6.0_14.

对于那些对我所追求的感兴趣的人,我试图看看我的应用程序在堆空间不足时如何使用某些函数.

编辑:嗯..我很惊讶在使用JConsole进行监控时,堆使用率实际上限制在32M .得到更多的内存......

谢谢你的想法,Touko

java memory memory-management jar

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

使用Play 1.2.5本地application.conf?

是否有可能在Play 1.2.5中使用本地application.conf?我们的问题是不同的开发人员有一些不同的设置,我们不想保存到版本控制.

找到的替代品:

  • 只需修改application.conf
    • 必须注意不要对VCS进行更改
  • 环境:每个开发人员的自有环境:%john,%mary(保存到VCS)
    • 好的选择,即使我们不想将它们保存到版本控制中
    • 我们偶尔会在开发过程中对它们进行更改 - >会导致不必要的更改
  • @include:application.conf选项,用于其他配置文件

别的什么?

特别是,有没有办法告诉Play使用自定义文件名(如"conf/application.conf.local"而不是默认的"conf/application.conf"?

configuration local playframework-1.x

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

c#MVC - 文件夹结构 - 放置类的位置?

在asp/net MVC中,项目分为模型,视图和控制器.好到目前为止.

假设我有一个类'人',人控制器使用人模型填充数据.

把我的person.cs课最好放在哪里?在控制器或模型文件夹中?你是做什么?

谢谢

坦率

c# model-view-controller asp.net-mvc directory-structure

4
推荐指数
2
解决办法
4115
查看次数