我正在调试一个javascript应用程序(使用Chrome开发工具),我想在单步执行代码时更改一些变量值.
这有可能吗?
我试过并得到类似的东西:
> modeline
1
> modeline=0
0 <<< seems to work but...
> modeline
1 <<< ups!!
Run Code Online (Sandbox Code Playgroud)
但我找不到任何文件说明可以做什么或不可以做什么......
我有一个在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
我有一个.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)
如何在不摆弄注入文件的情况下实现这一目标?是的,我知道替代方法是从子文件中进行脏复制粘贴,但我不想这样做。
问候,
注意:我们重用单一连接.
************************************************
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) 我想为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)
谢谢您的帮助!
在stackoverflow上我遇到了mbunit.在它的页面上,它指出mbunit是一个生成单元测试框架,但我找不到任何描述Generative单元测试框架的地方.
我希望得到:
如何将类路径上的文件名转换为真实文件名?
例如,假设该目录"C:\workspace\project\target\classes"位于类路径中.在该目录中是一个文件,例如info.properties.
如果只给出字符串,你将如何确定(在运行时)info.properties文件的绝对文件路径"info.properties"?
结果就像是"C:\workspace\project\target\classes\info.properties".
为什么这有用?编写单元测试时,您可能希望访问测试资源(src/main/resources)中捆绑的文件,但是正在使用第三方库或需要真实文件名的其他系统,而不是相对类路径引用.
注意:我自己已经回答了这个问题,因为我认为这是一个有用的技巧,但看起来没有人曾经问过这个问题.
我正在寻找一种快速方法,对于任何给定的多模块项目,快速浏览项目层次结构,包括项目中的模块,不包括外部依赖项.
例如,对于一个项目
project root
+- A
+- B
+- C
+- D
+- E
+- F
+- G
+- H
Run Code Online (Sandbox Code Playgroud)
我希望看到AH的快速单屏视图(就像这里描述的那样),它为我提供了一个快速消化的视图,以便了解项目结构.理想情况下,它将是命令行输出,而不是特定于平台的解决方案(我注意到VisualStudio有一个工具).
mvn dependency:tree虽然很棒,但对于这种情况来说太冗长了,我想我可以grep和cut输出分开,但感觉应该有一个更简单的方法(即另一个插件).
我正在使用Chrome(v21)开发工具来调试大型JavaScript应用程序.在单步执行代码时,我想更改本地(函数范围)变量的值.我该怎么做呢?
我试过了:
同样,这是一个本地的函数范围变量,当前的执行行也在定义变量的同一范围内.
这个问题基本上是重复的,但没有引出任何有用的答案(也许是因为写得不好).
以下代码:
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)