小编Gre*_*ant的帖子

在Google Chrome中调试时是否可以更改javascript变量值?

我正在调试一个javascript应用程序(使用Chrome开发工具),我想在单步执行代码时更改一些变量值.

这有可能吗?

我试过并得到类似的东西:

> modeline
1
> modeline=0
0             <<< seems to work but... 
> modeline
1             <<< ups!!
Run Code Online (Sandbox Code Playgroud)

但我找不到任何文件说明可以做什么或不可以做什么......

javascript debugging google-chrome

74
推荐指数
6
解决办法
11万
查看次数

行被另一个事务更新或删除(或未保存的值映射不正确)

我有一个在Web服务器上运行的java项目.我总是遇到这个例外.

我阅读了一些文档,发现悲观锁定(或乐观,但我认为悲观更好)是防止此异常的最佳方法.

但我找不到任何解释如何使用它的明确例子.

我的方法是这样的:

@Transactional
Public void test(Email email, String Subject){
   getEmailById(String id);
   email.setSubject(Subject);
   updateEmail(email);
}
Run Code Online (Sandbox Code Playgroud)

而:

  • Email 是一个hibernate类(它将是数据库中的一个表)
  • getEmailById(String id)是一个返回的函数email(此方法未注释@Transctional)
  • updateEmail(email):是一种更新电子邮件的方法.

注:我使用Hibernate进行保存,更新和等(例如:session.getcurrentSession.save(email))

例外:

ERROR 2011-12-21 15:29:24,910 Could not synchronize database state with session [myScheduler-1]
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [email#21]
    at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1792)
    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2435)
    at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2335)
    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2635)
    at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)
    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
    at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
    at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
    at …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate amazon-web-services pessimistic-locking

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

gitlab-ci.yml - 覆盖特定作业和脚本执行

我有一个.gitlab-ci.yml文件说:

include:
  - project: 'my-proj/my-gitlab-ci'
    ref: master
    file: '/pipeline/gitlab-ci.yml'
Run Code Online (Sandbox Code Playgroud)

由于一些“不便”,我想覆盖在gitlab-ci.yml注入我的顶级.gitlab-ci.yml文件的上述文件中定义的某些特定阶段。plan我感兴趣的阶段有以下内容:

plan-dummy:
  stage: plan
  script:
    - terraform plan -lock=false -var-file=vars/vars.tfvars
Run Code Online (Sandbox Code Playgroud)

我想要做的是覆盖主.gitlab-ci.yml文件上的上述内容,以便仅将脚本作为覆盖执行:

plan-dummy:
  stage: plan
  script:
    - terraform refresh   # This is the line I want to add as an additional step before next 
    - terraform plan -lock=false -var-file=vars/dev.tfvars
Run Code Online (Sandbox Code Playgroud)

如何在不摆弄注入文件的情况下实现这一目标?是的,我知道替代方法是从子文件中进行脏复制粘贴,但我不想这样做。

问候,

gitlab gitlab-ci

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

关闭结果集后,Oracle不会删除游标

注意:我们重用单一连接.

************************************************
public Connection connection() {        
    try {
        if ((connection == null) || (connection.isClosed()))
        {
            if (connection!=null)
                log.severe("Connection was closed !");
            connection = DriverManager.getConnection(jdbcURL, username, password);
        }
    } catch (SQLException e) {
        log.severe("can't connect: " + e.getMessage());
    }
    return connection;        
}
**************************************************

public IngisObject[] select(String query, String idColumnName, String[] columns) {
    Connection con = connection();

    Vector<IngisObject> objects = new Vector<IngisObject>();
    try {
        Statement stmt = con.createStatement();

        String sql = query;
        ResultSet rs =stmt.executeQuery(sql);//oracle increases cursors count here
        while(rs.next()) {
            IngisObject …
Run Code Online (Sandbox Code Playgroud)

java oracle jdbc resultset cursor

18
推荐指数
4
解决办法
6万
查看次数

Spring Boot - 如何指定备用启动类?(多个入口点)

我想为Spring-Boot应用程序添加一个备用入口点.我宁愿把它当成一个胖罐子.这可能吗?

根据他们的文档,该属性loader.main指定要启动的主类的名称.

我试过java -jar MyJar.jar --loader.main=com.mycompany.AlternateMain但是我的pom.xml中指定的start-class仍在运行(如果我从pom.xml中删除它,那么我在打包时出错).

或者,我试过,java -cp MyJar.jar com.mycompany.AlternateMain但我不知道将所有嵌套jar添加到类路径的好方法.

有什么建议?

编辑:这是我使用的解决方案

正如jst建议的那样,我改变了我的启动器以使用PropertiesLauncher.我通过修改spring-boot-maven-plugin的配置来做到这一点.

<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <configuration>
    <mainClass>${start-class}</mainClass>
    <layout>ZIP</layout>
    ...
Run Code Online (Sandbox Code Playgroud)

<layout>ZIP</layout> 触发器春季启动使用PropertiesLauncher.

我创建了我的胖罐(mvn包),然后像这样调用备用main:

java -jar -Dloader.main=com.mycompany.AlternateMain MyJar.jar
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

java spring jar spring-boot

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

什么是生成单元测试框架?

在stackoverflow上我遇到了mbunit.在它的页面上,它指出mbunit是一个生成单元测试框架,但我找不到任何描述Generative单元测试框架的地方.

我希望得到:

  • 一个定义
  • 关于生成单元测试框架是什么和不是什么的文章的链接.

mbunit

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

将类路径文件名转换为实际文件名

如何将类路径上的文件名转换为真实文件名?

例如,假设该目录"C:\workspace\project\target\classes"位于类路径中.在该目录中是一个文件,例如info.properties.

如果只给出字符串,你将如何确定(在运行时)info.properties文件的绝对文件路径"info.properties"

结果就像是"C:\workspace\project\target\classes\info.properties".

为什么这有用?编写单元测试时,您可能希望访问测试资源(src/main/resources)中捆绑的文件,但是正在使用第三方库或需要真实文件名的其他系统,而不是相对类路径引用.

注意:我自己已经回答了这个问题,因为我认为这是一个有用的技巧,但看起来没有人曾经问过这个问题.

java classpath filepath

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

创建maven项目模块树?

我正在寻找一种快速方法,对于任何给定的多模块项目,快速浏览项目层次结构,包括项目中的模块,不包括外部依赖项.

例如,对于一个项目

project root
+- A
   +- B
      +- C
   +- D 
      +- E
         +- F
+- G
   +- H
Run Code Online (Sandbox Code Playgroud)

我希望看到AH的快速单屏视图(就像这里描述的那样),它为我提供了一个快速消化的视图,以便了解项目结构.理想情况下,它将是命令行输出,而不是特定于平台的解决方案(我注意到VisualStudio有一个工具).

mvn dependency:tree虽然很棒,但对于这种情况来说太冗长了,我想我可以grepcut输出分开,但感觉应该有一个更简单的方法(即另一个插件).

dependencies maven

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

如何使用Chrome的开发工具更改局部变量的值?

我正在使用Chrome(v21)开发工具来调试大型JavaScript应用程序.在单步执行代码时,我想更改本地(函数范围)变量的值.我该怎么做呢?

我试过了:

  1. 单击"范围"窗口中的变量并对其进行编辑,然后按Enter键.该值在Scope窗口中按预期更改,但是当我转到下一行时,该变量将恢复为其旧值.
  2. 在控制台中键入"variable = 123".按Enter后,控制台"result"是我输入的值,但变量本身的值不会改变.如果我然后输入"variable"并按Enter键,控制台将返回原始值; "范围"窗口还会显示原始值.

同样,这是一个本地的函数范围变量,当前的执行行也在​​定义变量的同一范围内.

这个问题基本上是重复的,但没有引出任何有用的答案(也许是因为写得不好).

javascript debugging google-chrome-devtools

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

为什么HALF_UP有时会以双倍的形式向下舍入?

以下代码:

double doubleValue = 1713.6;
float floatValue = 1713.6f;
String fs = "%-9s : %-7s %-7s\n";
System.out.printf( fs, "", "double", "float" );

DecimalFormat format = new DecimalFormat("#0");
System.out.printf( fs, "toString", String.valueOf( doubleValue ), String.valueOf( floatValue ) );

format.setRoundingMode( RoundingMode.DOWN );
System.out.printf( fs, "DOWN", format.format( doubleValue ), format.format( floatValue ) );

format.setRoundingMode( RoundingMode.HALF_DOWN );
System.out.printf( fs, "HALF_DOWN", format.format( doubleValue ), format.format( floatValue ) );

format.setRoundingMode( RoundingMode.HALF_UP );
System.out.printf( fs, "HALF_UP", format.format( doubleValue ), format.format( floatValue ) );

format.setRoundingMode( RoundingMode.UP );
System.out.printf( …
Run Code Online (Sandbox Code Playgroud)

java rounding

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