我在使用大于2GB的文件上传HTTP文件时遇到问题.服务器和客户端都是64位,因此从系统角度来看,必须没有2GB的限制.我做了以下事情:
我正在使用apache commons文件上传.我还尝试使用ServerFileUpload setMaxFileSize方法设置最大文件大小.
我能够上传小于2GB的文件(我成功尝试了1.88GB文件).请指导我,我在这里错过了什么?
更具体的说,ServletFileUpload.parseRequest方法在上传大文件时返回0 FileItems
这是代码片段:
if (isMultipartForm()) {
try {
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(SIZE_THRESHOLD);//SIZE_THRESHOLD = 4MB
ServletFileUpload upload = new ServletFileUpload(factory);
//upload.setFileSizeMax(3000000000L); Tried this too
upload.setProgressListener(progressListener);
items = upload.parseRequest(request);
if(items != null && items.size() == 0)
return new CommandResultSet(false, "NoItemsFoundInRequest");
return new CommandResultSet(true, "" + ( (items!=null) ? items.size() : ""));
} catch(FileUploadException e) {
e.printStackTrace();
System.out.println("Exception in MultipartFormManager. Can not parse …Run Code Online (Sandbox Code Playgroud) 我有一个 React 应用程序(使用 React Create App),我想使用脚本将其上传到生产环境。我的产品是 AWS S3 存储桶。我在 package.json 中添加了一个“部署”脚本,如下所示:
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject",
"deploy": "aws s3 cp ./build s3://app.example.com --recursive --exclude \"*.DS_Store\" --cache-control public,max-age=604800 --profile production-profile"
},
Run Code Online (Sandbox Code Playgroud)
这会将所有构建文件上传到生产存储桶。由于构建静态文件(css、js 等)有自己的哈希码,它们不会被每个版本覆盖,这很好。
我遇到的问题是,在其他文件完成上传之前,我不希望上传 index.html 文件。这样,一旦 index.html 被最新版本覆盖,就会自动使用新的静态文件。
知道如何实现这一目标吗?如果有更好的脚本可以将 React 应用程序上传到 S3,那就太好了。
我有一个Android项目,我希望GIT忽略bin和gen文件夹.因此,我已经放置在项目的目录中(我也在更高级别上尝试过)以下.gitignore文件:
# built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# generated files
bin/
gen/
# Local configuration file (sdk path, etc)
local.properties
# Eclipse project files
#.classpath
#.project
Run Code Online (Sandbox Code Playgroud)
不幸的是,这个文件被Eclipse忽略了,我继续提交gen /和bin /中的.class文件和文件.我还尝试将文件夹标记为"假设未更改",但这也无济于事.
我不确定,但有可能我在第一次提交后添加了文件.
我需要在Spring Data Solr自定义存储库中实现以下内容:
(X或Y)和Z.
我目前的代码如下:
Criteria criteria = new Criteria("x").is(X_VALUE);
criteria = criteria.or(new Criteria("y").is(Y_VALUE);
criteria = criteria.and(new Criteria("z").is(Z_VALUE);
Run Code Online (Sandbox Code Playgroud)
但运行此代码我得到以下优先权:
X OR(Y和Z)
有任何想法吗?
我需要使用 spring @Cacheable 注释缓存对 MongoDB 的调用:
public interface SiteRepository extends PagingAndSortingRepository<Site, String>{
@Cacheable
List<Site> findByStatus(Site.Status status);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,使用@Cacheable 注释接口中的任何方法会导致以下异常:
2014 年 11 月 22 日下午 7:11:06 org.apache.catalina.core.ApplicationContext 日志严重:StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException:创建名为“example”的 bean 时出错:注入自动装配的依赖项失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:com.example.repositories.mongodb.SiteRepository com.example.siteRepo; 嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“siteRepository”的 bean 时出错:FactoryBean 的单例对象的后处理失败;嵌套异常是 org.springframework.aop.framework.AopConfigException:无法生成类 [class com.sun.proxy.$Proxy92] 的 CGLIB 子类:此问题的常见原因包括使用 final 类或不可见类;嵌套异常是 java.lang.IllegalArgumentException:无法在 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289) 上的 org.springframework.beanPostProcessor.java:289 上子类化最终类类 com.sun.proxy.$Proxy92 factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1147) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 在 org.springframework.CapableBeans.tractFactoryBeansupport. AbstractAutowireCapableBeanFactory.java:458) 在 org.springframework.beans.factory.support。1103) 在 org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1010) 在 org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4935) 在 org.apache.catalina.core.StandardContext $3.call(StandardContext.java:5262) at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5257) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent .ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at …
我有以下两个班级:
@JsonIgnoreProperties(ignoreUnknown = true)
public class ChangesJSON {
@JsonProperty("changes")
List<ChangeJSON> changes;
@JsonProperty("more")
Boolean more;
}
public class ChangeJSON {
@JsonProperty("epoch")
Long epoch;
@JsonProperty("payload")
Map<String, Object> payload;
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用此测试反序列化时:
String test = "{\"changes\":[{\"epoch\":1441556306522,\"payload\":\"{\"to\":1}\"},{\"epoch\":1441555481524,\"payload\":\"{\"to\":-1}\"}],\"more\":false}";
@Test
public void myTest() {
ObjectMapper mapper = new ObjectMapper();
ChangesJSON result = null;
try {
result = mapper.readValue(test, ChangesJSON.class);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
assertNotNull(result);
}
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
com.fasterxml.jackson.databind.JsonMappingException:无法从String值('{')实例化java.util.LinkedHashMap类型的值; [Source:{"changes":[{"epoch":1441556306522,"payload":"{"to":1}"},{"epoch":1441555481524,"payload"中没有单字符串构造函数/工厂方法: "{" 到 ": - 1}"}], "更多":假}; line:1,column:35](通过引用链:demo.ChangesJSON ["changes"] - > java.util.ArrayList …
我已经在一个没有问题的项目中使用 Spring-Data-Mongo 一段时间了。在上一次 POM 更新中,我开始在日志文件中看到以下异常:
警告:2014 年 8 月 4 日 13:55:24 org.springframework.data.mongodb.core.mapping.BasicMongoPersistentProperty - 不允许为 id 属性自定义字段名称!不考虑自定义名称!
它没有提供有关此问题出在哪里的任何线索,因此我们一无所知。随着对应用程序的调用,它会重复多次。我们确实在这里找到了它的起源:https : //github.com/spring-projects/spring-data-mongodb/blob/11417144bd3574c35af06fde3a3c2e56a1dd5890/spring-data-mongodb/src/main/java/org/springframework/data/mongodb /core/mapping/BasicMongoPersistentProperty.java#L85
有任何想法吗?
编辑:为感兴趣的人添加了示例类:
@Document(collection="Account")
public class Account {
....
@Id
private String id = null;
....
}
Run Code Online (Sandbox Code Playgroud) 我使用以下内容:
我正在尝试配置一个处理以下内容的服务器:
看起来资源服务器配置不仅限于/ rest/**,而是覆盖所有安全配置.即对受保护的NON-OAuth资源的调用未受到保护(即过滤器未捕获它们并重定向到登录).
配置(我删除了一些简单的东西):
@Configuration
@EnableResourceServer
protected static class ResourceServerConfiguration extends ResourceServerConfigurerAdapter {
@Autowired
private TokenStore tokenStore;
@Override
public void configure(ResourceServerSecurityConfigurer resources) {
resources
.resourceId(RESOURCE_ID)
.tokenStore(tokenStore)
.stateless(true);
}
@Override
public void configure(HttpSecurity http) throws Exception {
http
.requestMatchers()
.antMatchers("/rest/**")
.and()
.authorizeRequests()
.antMatchers("/rest/**").access("hasRole('USER') and #oauth2.hasScope('read')");
}
}
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
@Bean
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
@Bean
protected AuthenticationEntryPoint authenticationEntryPoint() {
OAuth2AuthenticationEntryPoint …Run Code Online (Sandbox Code Playgroud) 我有两张桌子:customer和mailing:
+==========+ +=============+
| customer | | mailing |
+==========+ +=============+
| id | | id |
+----------+ +-------------+
| name | | customer_id |
+----------+ +-------------+
| mailing_id |
+-------------+
Run Code Online (Sandbox Code Playgroud)
每次我向客户发送邮件时,我都会在邮件表中添加一行邮件ID.一封邮件可以发送给多个客户.
我想要一个sql调用,返回所有尚未收到某个邮件的客户.如何 ?
我正在使用mysql