我正在编写批处理文件,我需要获取此bat文件的父文件夹.有可能吗?NB我是指批处理文件的父文件夹,而不是调用该批处理的提示的当前目录.
谢谢
我有这个Service bean,调用内部异步方法的sync方法:
@Service
public class MyService {
public worker(){
asyncJob();
}
@Async
asyncJob(){
...
}
}
Run Code Online (Sandbox Code Playgroud)
问题是asyncJob并不是真的以异步方式调用.我发现这不起作用,因为内部调用会跳过AOP代理.
所以我尝试自我引用 bean:
@Service
public class MyService {
MyService mySelf;
@Autowired
ApplicationContext cnt;
@PostConstruct
public init(){
mySelf=(MyService)cnt.getBean("myService");
}
public worker(){
mySelf.asyncJob();
}
@Async
asyncJob(){
...
}
}
Run Code Online (Sandbox Code Playgroud)
它失败了.再次没有异步调用.
所以我试着把它分成两个豆子:
@Service
public class MyService {
@Autowired
MyAsyncService myAsyncService;
public worker(){
myAsyncService.asyncJob();
}
}
@Service
public class MyAsyncService {
@Async
asyncJob(){
...
}
}
Run Code Online (Sandbox Code Playgroud)
再次失败.
唯一可行的方法是从Controller Bean调用它: …
我想在启动应用程序期间释放TCP端口(向用户确认),如何获取PID号,然后,如果用户确认,则将其删除?
我知道我可以通过netstat获取这些信息,但是如何在脚本中或者在C#方法中更好.
我在Spring中有两个服务组件有点麻烦.
我有这个组件:
@Component
public class SmartCardWrapper
Run Code Online (Sandbox Code Playgroud)
还有这个:
@Component
public class DummySmartCardWrapper extends SmartCardWrapper
Run Code Online (Sandbox Code Playgroud)
该服务自动装配,但弹簧因此次尝试失败:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.cinebot.smartcard.SmartCardWrapper] is defined: expected single matching bean but found 2: [dummySmartCardWrapper, smartCardWrapper]
Run Code Online (Sandbox Code Playgroud)
为什么它不使用类名?
是否有解决方法在循环CTE中使用GROUP BY或有解决方法?
我需要对CTE表的结果集进行分组,并在具有相同CTE的另一个循环中使用它,但是我得到以下错误:
递归公用表表达式"cte"的递归部分中不允许使用GROUP BY,HAVING或聚合函数.
这是查询:
WITH cte
AS
(
SELECT
id,
dailyconsumption,
stock/dailyconsumption as cutoff
FROM items
WHERE father IS NULL
UNION ALL
SELECT
i.id,
SUM(father.dailyconsumption*i.num),
MAX(stock)/SUM(father.dailyconsumption*i.num)
FROM cte father
JOIN items i ON father.id=i.father
group by i.id
)
SELECT id, MIN(cutoff)
FROM cte
GROUP BY id
Run Code Online (Sandbox Code Playgroud)
SQL-Fiddle(带有示例数据)
编辑......这是合乎逻辑的问题
我有一组最终用户项(父= NULL)和其他一些子项(由字段父和字段num填充).我只为最终用户项目获得了每日消费(我用"WHERE father IS NULL"开始我的cte),并且子项的dailyconsumption由SUM(father.dailyconsumption*item.num)计算.
WITH cte AS(
SELECT
id,
dailyconsumption,
stock/dailyconsumption as cutoff
FROM items
WHERE father IS NULL
UNION ALL
SELECT
i.id,
father.dailyconsumption*i.num
0
FROM cte father …Run Code Online (Sandbox Code Playgroud) ICS与Gmail/Google日历地址的附件存在问题.当我必须编辑事件时,我通过邮件发送更新,其中ICS文件与原始事件的UID相同.但是,GCalendar添加了第二个事件.我怎么能克服这个?
这是第一个ICS文件内容:
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20130425T090000
DTEND:20130425T100000
DTSTAMP:20130206T101100
ORGANIZER;CN=Test test:mailto:test@test.com
ATTENDEE:test@test.eu
UID:CALEVENT_TS090519840000000005
DESCRIPTION:test
SUMMARY:test
LOCATION:Test
SEQUENCE:1
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)
这是更新ICS文件内容:
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20130425T100000
DTEND:20130425T110000
DTSTAMP:20130206T101100
ORGANIZER;CN=Test test:mailto:test@test.com
ATTENDEE:test@test.eu
UID:CALEVENT_TS090519840000000005
DESCRIPTION:test
SUMMARY:test
LOCATION:Test
SEQUENCE:2
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)
当我收到更新文件并点击"将此事件添加到日历"时,我会发现两个不同的事件.
这是原始的原始电子邮件:
Delivered-To: test@test.eu
Received: by 10.216.231.19 with SMTP id k19csp190640weq;
Sat, 9 Feb 2013 08:01:11 -0800 (PST)
X-Received: by 10.194.7.136 with SMTP id j8mr15530679wja.38.1360425671327;
Sat, 09 Feb 2013 08:01:11 -0800 (PST)
Return-Path: <test@test.eu>
Received: from mxavas8.aruba.it (mxavas8.aruba.it. [62.149.157.18]) …Run Code Online (Sandbox Code Playgroud) 我需要处理所有来自某些Spring控制器的请求,以获取一些请求者信息或抛出异常,如安全过滤器.
我想在Spring中有什么东西像控制器的过滤器(我不需要它适用于所有控制器,但只适用于某些人).我不想通过url请求应用此过滤器,但使用类/方法扩展或注释.
这是我的实际解决方案:
@Controller
public class MyFilteredController extends FilterController {
@RequestMapping("/filtered")
public void test1(HttpServletRequest req){
InfoBean infobean=filter(req);
//... controller job
}
}
Run Code Online (Sandbox Code Playgroud)
使用过滤方法扩展类的控制器.
public abstract FilterController{
protected InfoBean filter(HttpServletRequest req){
//... filter job
return infobean;
}
}
Run Code Online (Sandbox Code Playgroud) 这是我的豆子:
@Service
public class MyService{
@Autowire
private OtherService service;
@Async
public jobAync(){
job();
}
public job(){
...
}
}
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么 jobAync 的 @Async 注释会导致 Spring 的循环引用问题,如果我删除该注释一切正常...我希望在自动装配中找到问题,但似乎与 @Async 相关联。
我需要在我的 websocket spring 服务器中控制 stomp 客户端的连接/断开连接和订阅/取消订阅。这是主要的配置类:
@Configuration
@ComponentScan(basePackages = "com.test")
@EnableWebSocketMessageBroker
@EnableWebMvc
public class Config extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/queue", "/topic");
config.setApplicationDestinationPrefixes("/app");
config.setUserDestinationPrefix("/user");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/stomp").setAllowedOrigins("*").addInterceptors(getInterceptot());
}
private HandshakeInterceptor getInterceptot() {
return new HandshakeInterceptor(){
@Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {
return true; //TODO
}
@Override
public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Exception exception) {}
};
}
}
Run Code Online (Sandbox Code Playgroud)
我可以用beforeHandshake …
我必须在ZPL标签的字段块中打印变量文本.
我想知道是否有可能定义块宽度然后自动换行文本,或者如果不可能,我必须手动添加新行char或将文本拆分为两个块.
spring ×4
asynchronous ×2
java ×2
spring-mvc ×2
autowired ×1
batch-file ×1
c# ×1
controller ×1
directory ×1
icalendar ×1
javabeans ×1
kill-process ×1
netstat ×1
parent ×1
rfc2445 ×1
rfc5545 ×1
sql-server ×1
stomp ×1
t-sql ×1
tcp ×1
websocket ×1
windows ×1
word-wrap ×1
zpl ×1