我在我的 Angular 应用程序中创建了一个 REST API 调用来下载一个文件。
我将 responseType 设置为 'blob' 因为我期待一个文件作为响应。
但是当服务器上没有可用的文件时,响应的错误代码为 404,即错误请求,正文中有一些消息。
但是我无法解析来自正文的错误消息,因为 HttpErrorResponse 在 error.error 中给出了一个 blob 对象
如何从错误对象而不是 blob 中获取实际主体。
还有什么方法可以配置 angular,在 api 调用成功时解析 blob 中的请求,否则解析 json 中的请求???
希望得到解决
我创建了一个maven jersey starter webapp.此外,我使用jetty插件在我的应用程序中嵌入了jetty服务器.
当我使用mvn jetty:run命令运行我的项目时,我的项目工作正常.
但是当我使用mvn clean package命令打包我的项目并运行名为jar-with-dependencies的jar文件时,项目会在从jersey资源返回json响应时抛出此异常.
严重:找不到媒体类型= application/json的MessageBodyWriter,类型=类com.nitish.freecharge.model.Count,genericType = class com.nitish.freecharge.model.Count.
这是我的pom.xml文件
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.nitish.freecharge</groupId>
<artifactId>wordcount</artifactId>
<packaging>war</packaging>
<version>2.0</version>
<name>wordcount</name>
<build>
<finalName>wordcount</finalName>
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/webapp</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<inherited>true</inherited>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.0.v20150612</version>
<configuration>
<scanIntervalSeconds>5</scanIntervalSeconds>
<webApp>
<contextPath>/wordcount</contextPath>
</webApp>
<httpConnector>
<!--host>localhost</host -->
<port>9999</port>
</httpConnector>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>package-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version> …Run Code Online (Sandbox Code Playgroud) jersey embedded-jetty maven jersey-2.0 jar-with-dependencies
当 Spring Batch 尝试提交记录时,我收到“提交失败,而步骤执行数据已更新”错误。任何帮助将不胜感激。我正在使用 HIbernate JPA 。
它适用于较少数量的记录。当记录计数很高时抛出错误。
堆栈跟踪:
2016-01-20 08:49:45 INFO TaskletStep:359 - Commit failed while step execution data was already updated. Reverting to old version.
2016-01-20 08:49:45 ERROR TaskletStep:370 - Rolling back with transaction in unknown state
2016-01-20 08:49:45 ERROR AbstractStep:225 - Encountered an error executing step uploadFiles in job fileUploadJob
org.springframework.transaction.TransactionSystemException: Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly
at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:524)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:757)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:726)
Run Code Online (Sandbox Code Playgroud) 我正在使用 Spring Boot 2.0.4.RELEASE 版本,仅使用默认缓存提供程序启用缓存,不使用外部缓存提供程序。
我已经安排了一批在每天的特定时间运行。在其运行期间,涉及数据访问的某些方法调用被缓存并且工作正常。
现在我想在下次功能启动之前在预定时间释放所有缓存的项目。
我无法实现此功能。你们能否指导我一些想法或如何实施它的方法。
这就是我正在努力实现的。我有一个标记为 @Configuration 的 JobExecutionListener 类。我正在使用它的 afterJob 方法来清除所有缓存。
@Configuration
@JobScope
public class JobTwoExecutionListener implements JobExecutionListener {
private static final Logger logger = LoggerFactory.getLogger(JobTwoExecutionListener.class);
@Autowired
private CacheManager cacheManager;
@Override
public void beforeJob(JobExecution jobExecution) {
final String methodName = "beforeJob() : ";
logger.info(methodName + "called");
if(cacheManager == null) return;
logger.info(methodName + "CacheManager FOUND. Listing all the caches
before Job Run");
for(String name : cacheManager.getCacheNames()){
logger.info(methodName + "CACHE_NAME BEFORE JOB " + name);
}
}
@Override …Run Code Online (Sandbox Code Playgroud) java ×2
spring-batch ×2
spring-boot ×2
angular ×1
javascript ×1
jersey ×1
jersey-2.0 ×1
jpa ×1
maven ×1
spring-cache ×1