我想将状态与所有对特定实体更改感兴趣的客户端同步.所以我想实现以下目标:
HTTP/REST和websockets)websockets主题从技术上讲,我对将spring-data-rest与spring websockets实现混合以实现类似spring-data-websocket的想法感兴趣.
我想到了两种解决方案,实际上两者都是:
REST/HTTP APIwebsocket 控制器(用于对实体的修改调用) 该websocket控制器是这样的:
@Controller
public class EntityAWebSocketController {
@MessageMapping("/EntityA/update")
@SendTo("/topic/EntityA/update")
public EntityA update(EntityA entityA) throws Exception {
// persist,....
return entityA;
}
}
Run Code Online (Sandbox Code Playgroud)
场景1:Websocket API来自REST/HTTP API
规则:
REST/HTTP APIREST/HTTP API针对所有操作的websocket消息也会出现从技术上讲,可以通过以下方式实现:
websocket从控制器弹簧其余数据的事件(即在AfterCreateEvent,AfterSaveEvent,AfterLinkSaveEvent,AfterDeleteEvent)仍然解决方案对我来说似乎很难过,因为我需要去:
从url(http)下载和解压缩文件的正确方法是什么?
如果可能的话,我想防止每次运行任务时重新下载(ant.get可以通过实现skipexisting: 'true').
我目前的解决方案是:
task foo {
ant.get(src: 'http://.../file.zip', dest: 'somedir', skipexisting: 'true')
ant.unzip(src: 'somedir' + '/file.zip', dest: 'unpackdir')
}
Run Code Online (Sandbox Code Playgroud)
不过,我期待无蚂蚁解决方案.有机会实现这一目标吗?
我正在寻找SQL:2011(ISO/IEC 9075:2011)的规范.我在哪里可以找到它?
(我只能找到较旧的那个:SQL 92)
在学习的过程中,我遇到了以下错误:
prog.go:18: not enough arguments in call to method expression JSONParser.Parse
Run Code Online (Sandbox Code Playgroud)
在我的测试程序中(https://play.golang.org/p/PW9SF4c9q8):
package main
type Schema struct {
}
type JSONParser struct {
}
func (jsonParser JSONParser) Parse(toParse []byte) ([]Schema, int) {
var schema []Schema
// whatever parsing logic
return schema, 0
}
func main() {
var in []byte
actual, err2 := JSONParser.Parse(in)
}
Run Code Online (Sandbox Code Playgroud)
有谁愿意帮助我继续前进?
我在Dockerfile:
ENV DATARATOR_HOME /usr/local/share/datarator
RUN mkdir -p $DATARATOR_HOME
COPY . $DATARATOR_HOME
Run Code Online (Sandbox Code Playgroud)
和.dockerignore文件:
/Gemfile.lock
/coverage
/spec
*.bundle
*.so
*.o
*.a
mkmf.log
*.swp
/.*
/tmp
/log
Run Code Online (Sandbox Code Playgroud)
但是,一旦在构建的容器中显示文件,我也可以看到那些应该被忽略的文件:
/usr/local/share/datarator # ls -lha
total 128
drwxr-xr-x 10 root root 4.0K Mar 29 21:01 .
drwxr-xr-x 4 root root 4.0K Mar 29 21:00 ..
drwxr-xr-x 2 root root 4.0K Mar 29 21:01 .bundle
-rw-rw-r-- 1 root root 24 Mar 29 20:37 .coveralls.yml
-rw-rw-r-- 1 root root 81 Mar 29 20:37 .dockerignore …Run Code Online (Sandbox Code Playgroud) 在 helm-template 中,我试图通过键检索地图的值。
我尝试使用indexgo-templates 中的 ,如下所示:
Access a map value using a variable key in a Go template
但是它对我不起作用(见后面的测试)。关于替代解决方案的任何想法?
Chart.yaml:
apiVersion: v1
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: foochart
version: 0.1.0
Run Code Online (Sandbox Code Playgroud)
values.yaml:
label:
- name: foo
value: foo1
- name: bar
value: bar2
Run Code Online (Sandbox Code Playgroud)
templates/test.txt
label: {{ .Values.label }}
Run Code Online (Sandbox Code Playgroud)
适用于helm template .:
---
# Source: foochart/templates/test.txt
label: [map[value:foo1 name:foo] map[name:bar value:bar2]]
Run Code Online (Sandbox Code Playgroud)
但是一旦尝试使用index:
templates/test.txt
label: {{ .Values.label }}
foolabel: {{ index …Run Code Online (Sandbox Code Playgroud) 我正在使用Angular js来显示加载屏幕.它适用于除REST服务之外的所有REST服务调用以下载文件.我理解为什么它不起作用,因为下载我没有使用$ resource进行任何服务调用; 而不是我使用正常的方法下载文件因此Angular js代码没有任何控制启动/完成服务请求.我尝试使用$ resource来访问这个REST服务但是我从这个服务获取数据,在这种情况下,加载屏幕工作正常,但不确定如何使用此数据显示给用户以角度方式下载.以下是必需的细节.请帮忙.
方法1使用iframe方法:
/*Download file */
scope.downloadFile = function (fileId) {
//Show loading screen. (Somehow it is not working)
scope.loadingProjectFiles=true;
var fileDownloadURL = "/api/files/" + fileId + "/download";
downloadURL(fileDownloadURL);
//Hide loading screen
scope.loadingProjectFiles=false;
};
var $idown; // Keep it outside of the function, so it's initialized once.
var downloadURL = function (url) {
if ($idown) {
$idown.attr('src', url);
} else {
$idown = $('<iframe>', { id: 'idown', src: url }).hide().appendTo('body');
}
};
Run Code Online (Sandbox Code Playgroud)
方法2使用$ resource(不确定如何在屏幕上显示数据下载)
/*Download file …Run Code Online (Sandbox Code Playgroud) 我有混合堆栈:EJB和Spring.对于自动装配Spring到EJB我使用SpringBeanAutowiringInterceptor(不确定这是否会影响我的问题).
尝试以下列方式自动装配bean:
@Scope(proxyMode=ScopedProxyMode.TARGET_CLASS, value="singleton")
@Repository
public class ClassA imlpements IfA {
...
}
@Scope(value="singleton")
@Repository
public class ClassB {
@Autowired
private ClassA classA;
...
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Could not autowire field: private ClassA ClassB.classA; nested exception is java.lang.IllegalArgumentException: Can not set ClassA field ClassB.classA to com.sun.proxy.$Proxy257. Please see server.log for more details.
Run Code Online (Sandbox Code Playgroud)
据我所知,问题是使用了JDK代理(作为ClassA实现接口IfA),而我需要cglib 代理.
但我不明白.基于文档,注释:@Scope(proxyMode=ScopedProxyMode.TARGET_CLASS,应该在这里完成工作.
好吧,我不能选择使用接口(作为字段类型).
知道如何强制cglib代理在这里吗?
编辑:
不确定它是否相关,但我正在运行glassfish 3.1.x.
和stacktrace(部分,因为我不能在这里公开所有类名:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'classB': Injection of …Run Code Online (Sandbox Code Playgroud) 我正在尝试生成或导出PDF格式的jasper报告,但我无法显示nihongo或japanese字符.我该如何解决.
我想包含文件,zipfileset但也重命名它
例如
<zipfileset dir="${basedir}/test/target" prefix="webapps">
<include name="test*.war"/>
</zipfileset>
Run Code Online (Sandbox Code Playgroud)
但想从改名test.war到sample.war
怎么实现这个?谢谢.