我想为新项目(在VM上)创建一个新的共享git存储库.
我跑git --bare init了/.../git/new_proj.git,但.../git/new_proj.git/refs/heads目录中没有创建主分支.我也运行sudo chmod 777 -R了我的目录,但它没有帮助,并且在init命令后仍然没有创建master .
编辑:
我甚至尝试使用git init(没有裸标志),但仍然没有创建主分支.
谷歌在这件事上帮助不大......
谁知道问题是什么?我错过了什么?谢谢!
有没有办法通过命令行(win/linux)删除/清除ActiveMQ中的所有队列?我只能找到特定队列的命令.或者也许有办法通过activeMQ管理员这样做?同样,我只找到了如何逐个删除/清除队列,这可能非常繁琐.
谢谢!
我们试图在几个本地环境中运行使用Atomikos作为事务管理器的相同Web应用程序(每个环境使用相同版本的spring,atomikos,tomact等,使用相同的配置文件).其中一些工作正常,但在其中一个中,当我们尝试启动tomcat时,我们得到以下异常:
Caused by: java.lang.IllegalStateException: Can't overwrite cause with java.lang.RuntimeException: Log already in use?
at java.lang.Throwable.initCause(Throwable.java:456)
at com.atomikos.icatch.standalone.UserTransactionServiceImp.init(UserTransactionServiceImp.java:326)
at com.atomikos.icatch.config.UserTransactionServiceImp.init(UserTransactionServiceImp.java:405)
at com.atomikos.icatch.config.UserTransactionServiceImp.init(UserTransactionServiceImp.java:569)
at com.atomikos.icatch.jta.UserTransactionManager.startupTransactionService(UserTransactionManager.java:89)
at com.atomikos.icatch.jta.UserTransactionManager.checkSetup(UserTransactionManager.java:77)
at com.atomikos.icatch.jta.UserTransactionManager.init(UserTransactionManager.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1638)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1579)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1509)
... 41 more
Caused by: com.atomikos.icatch.SysException: Error in init(): Log already in use?
... 54 more
Caused by: java.lang.RuntimeException: Log already in use?
at com.atomikos.icatch.standalone.UserTransactionServiceImp.createDefault(UserTransactionServiceImp.java:203)
at com.atomikos.icatch.standalone.UserTransactionServiceImp.init(UserTransactionServiceImp.java:258)
Run Code Online (Sandbox Code Playgroud)
我们无法弄清楚有问题的日志是什么,谷歌也没有多大帮助......任何人都知道这个奇怪问题的原因是什么?同样,我们的环境具有完全相同的配置,可以正常工作,另一个环境有另一个奇怪的警告:https: //stackoverflow.com/questions/20936253/atomikos-with-activemq-commit-heuristic-warnings
谢谢!:)
我们正在尝试对某些 JMS 消息设置延迟,以便消息只会在 x 时间后添加到队列中/由侦听器接收。到目前为止,我们已经尝试了 2 种无效的方法。
1)根据spring文档,我们可以在JMSTemplate上设置交付延迟。这是我们尝试的示例代码:
@Autowired
private JmsTemplate jmsTemplate;
...
long deliveryDelay = ...;
this.jmsTemplate.setDeliveryDelay(deliveryDelay);
this.jmsTemplate.convertAndSend(
queue.getName(),
event);
...
Run Code Online (Sandbox Code Playgroud)
然而,我们得到以下异常,即使我们的 spring jms 版本是 4.0.5:
java.lang.IllegalStateException: setDeliveryDelay requires JMS 2.0
Run Code Online (Sandbox Code Playgroud)
2)我们也尝试在消息本身上设置延迟,但看起来延迟被忽略了,无论如何消息还是立即传递了。
@Component
public class MyMessageConverter implements MessageConverter {
...
@Override
public Message toMessage(Object eventObject, Session session) throws JMSException, MessageConversionException {
...
long deliveryDelay = ...;
objectMessage.setLongProperty(
ScheduledMessage.AMQ_SCHEDULED_DELAY,
deliveryDelay);
return objectMessage;
}
}
Run Code Online (Sandbox Code Playgroud)
spring xml中的jmsTemplate定义:
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="cachingConnectionFactory" />
<property name="messageConverter" ref="myMessageConverter" />
<property name="sessionTransacted" value="true" …Run Code Online (Sandbox Code Playgroud) 我用Spring配置了我的MongoDB副本集,我正在尝试测试自动故障转移.我知道如果主服务器出现故障,则需要几秒钟才能选出新的主服务器,因此在该时间段内,所有写操作都将失败.
我有一个测试应用程序每1秒写入一次数据库,当我取下主数据库时,我得到一个java.io.IOException(因为没有要写入的主数据库).如果我重新启动我的应用程序,则执行写操作而不会出现问题.
我认为MongoDB Java驱动程序可以使用重试来处理这些情况(我错了吗?),但我无法配置Spring来做到这一点,所以我会提供一些帮助.:)
我的配置是这样的:
<mongo:mongo id="mongo" replica-set="host1:27017,host2:27017,host3:27017">
<mongo:options
connections-per-host="8"
threads-allowed-to-block-for-connection-multiplier="4"
connect-timeout="1000"
max-wait-time="1500"
auto-connect-retry="true"
socket-keep-alive="true"
socket-timeout="1500"
slave-ok="true"
write-number="1"
write-timeout="0"
write-fsync="true"/>
</mongo:mongo>
<mongo:repositories base-package="my.repositories" />
<mongo:db-factory dbname="my_db" mongo-ref="mongo" />
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>
Run Code Online (Sandbox Code Playgroud)
谢谢!
我们正在尝试使用 spring 对请求进行输入验证。我们遵循了本教程:http : //spring.io/guides/gs/validating-form-input/但它似乎不起作用。看起来@NotNull和/或 @Valid由于某种原因被忽略了。
例如,我们有以下控制器:
@RequestMapping(value = "/test", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(value = HttpStatus.OK)
@ResponseBody
public void test(@RequestBody @Valid TestDTO testDTO, BindingResult result) {
this.validateDTO(result);
}
protected void validateDTO(BindingResult result) {
if (result.hasErrors()) {
List<FieldError> fieldErrors = result.getFieldErrors();
throw new FieldValidationException(fieldErrors);
}
}
Run Code Online (Sandbox Code Playgroud)
TestDTO 是以下类:
public class TestDTO {
@NotNull
private String test;
...
}
Run Code Online (Sandbox Code Playgroud)
所以我们期望,当 POST 没有该test字段的请求时,FieldValidationException将被抛出。但是,这不会发生,因为result.hasErrors()出于某种原因 = false。
有谁知道为什么会这样?以及如何修复它?
编辑:我们尝试将验证器 bean …
我们正在尝试使用 spring jms 为 ActiveMQ 设置重新传递策略。我们为重新传递设置了指数回退,但它似乎被忽略了 - 消息重新传递之间的间隔是固定的,而不是呈指数增长。
有谁知道可能是什么问题?这是我们的 spring-jms 配置:
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"
p:brokerURL="${activemq_url}">
<property name="redeliveryPolicy" ref="redeliveryPolicy" />
</bean>
<bean id="redeliveryPolicy" class="org.apache.activemq.RedeliveryPolicy">
<property name="queue" value="*" />
<property name="initialRedeliveryDelay" value="10000" />
<property name="redeliveryDelay" value="10000" />
<property name="maximumRedeliveries" value="-1" />
<property name="useExponentialBackOff" value="true" />
<property name="backOffMultiplier" value="5" />
</bean>
<bean id="cachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"
p:targetConnectionFactory-ref="connectionFactory" p:sessionCacheSize="10"
/>
<!-- A JmsTemplate instance that uses the cached connection and destination -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="cachingConnectionFactory" />
<property name="messageConverter" ref="messageConverter" />
<property name="sessionTransacted" value="true" …Run Code Online (Sandbox Code Playgroud) 我们有一个带枚举字段的实体 - emailCommunicationStatus我们想要使用JPA注释为它设置一个默认值'UNKNOWN'.
但是,当我们将实体保存到DB时,该字段的值是否为null.对于布尔字段 - 保存isLocked正确的默认值(false).
@Entity
public class Account {
@Id
@GeneratedValue
@Column(name = "id")
protected Long id;
@Column(columnDefinition = "boolean default false")
private boolean isLocked;
@Column(length = 32, columnDefinition = "varchar(32) default 'UNKNOWN'")
@Enumerated(value = EnumType.STRING)
private CommunicationStatus emailCommunicationStatus;
PlayerAccount() {
super();
}
}
public enum CommunicationStatus {
VALID,
INVALID,
DONT_CONTACT,
UNKNOWN;
}
Run Code Online (Sandbox Code Playgroud)
如果我们改为使用:@Column(length = 32, columnDefinition = "varchar(32) default 'UNKNOWN'")因为emailCommunicationStatus我们在保存时遇到以下异常:
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'emailCommunicationStatus' cannot …Run Code Online (Sandbox Code Playgroud) 我已经实现了我自己的LogoutHandler并且我正在尝试在spring security xml中配置它,但由于某种原因它没有在注销时调用(注销成功,但我的代码没有被执行).
这是我的security.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<security:http use-expressions="true">
<security:intercept-url pattern="/logoutSuccess"
access="permitAll" />
<security:logout logout-url="/logout"
logout-success-url="/logoutSuccess" />
</security:http>
<bean id="logoutFilter"
class="org.springframework.security.web.authentication.logout.LogoutFilter">
<constructor-arg index="0" value="/logoutSuccess" />
<constructor-arg index="1">
<list>
<bean id="securityContextLogoutHandler"
class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" />
<bean id="myLogoutHandler" class="my.package.MyLogoutHandler" />
</list>
</constructor-arg>
<property name="filterProcessesUrl" value="/logout" />
</bean>
Run Code Online (Sandbox Code Playgroud)
MyLogoutHandler - 这是我想要在注销时执行的,但它没有被调用:
import org.springframework.security.web.authentication.logout.LogoutHandler;
public class MyLogoutHandler implements LogoutHandler {
@Override
public void logout(HttpServletRequest request, HttpServletResponse response, Authentication authentication) {
System.out.println("logout!");
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道它为什么不起作用?谢谢!
我们正在尝试记录 MongoDB 中的读写操作。我们希望将实际查询记录到文件中。我们使用以下配置(在副本集中的主节点中):
logpath=/.../mongodb.log
logappend=true
profile=2
slowms=1
diaglog=3
verbose=true
vvvv=true
Run Code Online (Sandbox Code Playgroud)
据我了解,这应该有效。但是,在日志中我们只能看到查询的类型(删除/插入/更新等)和集合,而不是执行的实际查询。
编辑:澄清一下:我们希望将读/写查询记录到常规 mongodb 日志文件中(例如,与您在 MySQL 中可以执行的操作相同)。
可能是什么问题呢?有人有什么想法吗?谢谢!
我正在尝试使用 org.apache.commons.vfs2 通过 SFTP 下载文件。问题是,密码包含“@”字符,因此这会导致 URI 被错误解析:
org.apache.commons.vfs2.FileSystemException: Expecting / to follow the hostname in URI
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?(显然我无法更改密码)。这是我正在使用的代码:
String sftpUri = "sftp://" + userName + ":" + password + "@"
+ remoteServerAddress + "/" + remoteDirectory + fileName;
String filepath = localDirectory + fileName;
File file = new File(filepath);
FileObject localFile = manager.resolveFile(file.getAbsolutePath());
FileObject remoteFile = manager.resolveFile(sftpUri, opts);
localFile.copyFrom(remoteFile, Selectors.SELECT_SELF);
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 mongotemplate 创建聚合查询,其中按日期(即 2016-03-01)而不是日期时间(即 2016-03-01 16:40:12)进行分组。该dateToString操作存在于 mongodb 文档中,它可用于使用格式从日期时间中提取日期:https :
//docs.mongodb.org/manual/reference/operator/aggregation/dateToString/ 但我得到它与 mongotemplate 一起使用- 我得到一个 NullPointerException。(我的数据库版本是 3.2)
List<AggregationOperation> aggregationOperations = new ArrayList<AggregationOperation>();
aggregationOperations.add(
Aggregation.project("blabla", ...).
andExpression("dateToString('%Y-%m-%d',timeCreated).as("date"));
aggregationOperations.add(Aggregation.group("date").sum("blabla").as("blabla"));
AggregationResults<?> aggregationResults = this.mongoTemplate.aggregate(
Aggregation.newAggregation(aggregationOperations),
collectionName,
resultClass);
Run Code Online (Sandbox Code Playgroud)
当我dayOfMonth(timeCreated)用来提取一天时,也不例外,但我找不到如何使用dateToString. 我试过不使用 '' 作为日期格式,它也不起作用......
这是我得到的例外:
java.lang.NullPointerException
at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:226)
at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:194)
at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:255)
at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:194)
at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:255)
at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:194)
at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:255)
at org.bson.BasicBSONEncoder.putIterable(BasicBSONEncoder.java:324)
at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:263)
at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:194)
at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:136)
at com.mongodb.DefaultDBEncoder.writeObject(DefaultDBEncoder.java:36)
at com.mongodb.OutMessage.putObject(OutMessage.java:289)
at com.mongodb.OutMessage.writeQuery(OutMessage.java:211)
at com.mongodb.OutMessage.query(OutMessage.java:86)
at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:81)
at com.mongodb.DB.command(DB.java:320) …Run Code Online (Sandbox Code Playgroud) 我们为2个身份验证提供程序提供了spring安全配置:一个用于人类用户,另一个用于其他Web应用程序(通过REST).请参阅我之前的问题:Web服务和用户的Spring安全性
现在,问题是,当webapp发送username + pass时,spring安全性首先尝试用户身份验证提供程序,失败,然后尝试其他身份验证提供程序.
org.springframework.security.core.userdetails.UsernameNotFoundException即使其余身份验证最终成功,这也会导致日志中出现.有没有办法防止这种情况发生?
配置是:
security.xml文件:
<security:http use-expressions="true">
<security:intercept-url pattern="/user/login"
access="permitAll" />
...
<security:intercept-url pattern="/**"
access="isAuthenticated()" />
<security:form-login
authentication-success-handler-ref="userAuthenticationSuccessHandler" />
<security:logout logout-url="/user/logout"
logout-success-url="/demo/user/logoutSuccess" />
</security:http>
<bean id="bCryptPasswordEncoder"
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder" />
<security:authentication-manager alias="authenticationManager">
<security:authentication-provider
ref="authenticationProvider">
</security:authentication-provider>
<security:authentication-provider
ref="restAuthenticationProvider">
</security:authentication-provider>
</security:authentication-manager>
Run Code Online (Sandbox Code Playgroud)
休息-security.xml文件:
<security:http create-session="stateless"
entry-point-ref="digestEntryPoint" pattern="/provider/**"
use-expressions="true">
<security:intercept-url pattern="/provider/**"
access="isAuthenticated()" />
<security:http-basic />
<security:custom-filter ref="digestFilter"
after="BASIC_AUTH_FILTER" />
</security:http>
<bean id="digestFilter"
class="org.springframework.security.web.authentication.www.DigestAuthenticationFilter">
<property name="userDetailsService" ref="webappDetailsServiceImpl" />
<property name="authenticationEntryPoint" ref="digestEntryPoint" />
</bean>
<bean id="digestEntryPoint"
class="org.springframework.security.web.authentication.www.DigestAuthenticationEntryPoint">
<property name="realmName" value="Contacts Realm via Digest Authentication" …Run Code Online (Sandbox Code Playgroud) java ×9
spring ×8
jms ×3
mongodb ×3
spring-jms ×2
spring-mvc ×2
atomikos ×1
controller ×1
enums ×1
git ×1
git-branch ×1
hibernate ×1
jpa ×1
jta ×1
logging ×1
repository ×1
rest ×1
sftp ×1
tomcat ×1
validation ×1