在Android Studio 3.1.2中,我突然在编辑器顶部的黄色磁带框中收到以下消息:
没有IDEA注释附加到JDK 1.8(C:\ Program Files\Android\Android Studio\jre),将找不到一些问题
我在编辑配置中也有一个警告:
找不到默认活动
我该如何解决这些问题?
我有我的配置:
<context:property-placeholder location="classpath:idm.properties" />
<bean id="idmPropertyHolder" class="fi.utu.resurssitilaus.idm.IdmPropertyHolder">
<property name="url" value="${idm.url}" />
<property name="user" value="${idm.user}" />
<property name="password" value="${idm.password}" />
<property name="proxyHost" value="${http.proxyHost}" />
<property name="proxyPort" value="${http.proxyPort}" />
</bean>
Run Code Online (Sandbox Code Playgroud)
我收到了错误
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'idmPropertyHolder' defined in ServletContext resource [/WEB-INF/idm-config.xml]: Could not resolve placeholder 'idm.url'
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:272)
at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:75)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:640)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:615)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:405)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) …Run Code Online (Sandbox Code Playgroud) 最近,我的Linux机器上的tomcat进程突然被杀死.调查后,我在/ var/log/messages文件中找到以下错误消息:
kernel: [1799319.246494] Out of memory: Kill process 28536 (java) score 673 or sacrifice childSep kernel: [1799319.246506] Killed process 28536 (java) total-vm:1271568kB, anon-rss:426528kB, file-rss:0kB
现在,有人可以告诉我所有内容包括在内total-vm以及如何anon-rss与众不同rss?
我一直在熟悉FreeMarker,它是Java的模板引擎.
我到了能够通过哈希映射将对象传递给模板引擎的地步.这没关系.但是一旦我尝试将任何类型的多个对象集合传递给FreeMarker,它就会给我一个freemarker.template.TemplateException并抱怨它"预期的集合或序列.作业被评估为freemarker.template.SimpleHash".
根据我在各种资源中阅读的理解,这是可以预料的.
现在,我做了大量的腿部工作,发现很多人评论如何解决这个问题.但是,坦率地说,(a)对于许多例子,我不清楚他们的建议在我的案例中是如何适用的 - 尽管我已经知道Java基础知识很长一段时间我对一些架构很新关于Java Web应用程序和(b)我对哪种方法是最好的方法感到困惑.
在最简化的层面上,我想要做的就是基本上:
我有一个简单的Servlet.
我有一个简单的类(对于这个名为Invoice的例子),它有一些方法和属性.
我想让我的servlet(以某种方式)通过FreeMarker的处理方法呈现这些对象(或这些对象的视图)的实例的列表/数组/序列/散列图.
我想让我的.ftl模板循环遍历list/array/sequence/hashmap并显示方法结果,如下所示:
< # list invoices as invoice>
Invoice note: ${invoice.getNote()}, Invoice Amount:${invoice.getAmount()}
< / # list>
Run Code Online (Sandbox Code Playgroud)
现在,我不一定在寻找快速而肮脏的解决方案.我是FreeMarker的新手,但我希望以优雅和优秀的设计正确的方式做到这一点.所以我愿意完全重新思考这种方法.有人可以帮助我看看我需要做些什么才能让这样的事情发挥作用?
Google Guice提供了一些很棒的依赖注入功能.
我最近遇到了@Nullable特性,它允许你将构造函数参数标记为可选(允许为null),因为Guice默认不允许这些:
例如
public Person(String firstName, String lastName, @Nullable Phone phone) {
this.firstName = checkNotNull(firstName, "firstName");
this.lastName = checkNotNull(lastName, "lastName");
this.phone = phone;
}
Run Code Online (Sandbox Code Playgroud)
https://github.com/google/guice/wiki/UseNullable
Guice的其他有用功能(特别是不那么明显的)人们使用了什么?
我正在尝试使用以下内容在程序的后台进行简单的mp3播放:
Media med = new Media(getClass().getResource("intro.mp3").toExternalForm());
MediaPlayer mPlayer = new MediaPlayer(med);
mPlayer.play();
Run Code Online (Sandbox Code Playgroud)
intro.mp3文件与其他.class文件一起放在我的包的bin文件夹中.
问题是我的程序终止于:
Exception in thread "main" java.lang.IllegalStateException: Toolkit not initialized
Run Code Online (Sandbox Code Playgroud)
完整终止日志是:
Device "Intel(R) HD Graphics Family" (\\.\DISPLAY1) initialization failed :
WARNING: bad driver version detected, device disabled. Please update your driver to at least version 8.15.10.2302
Exception in thread "main" java.lang.IllegalStateException: Toolkit not initialized
at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:153)
at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:148)
at javafx.application.Platform.runLater(Platform.java:52)
at javafx.scene.media.MediaPlayer.init(MediaPlayer.java:450)
at javafx.scene.media.MediaPlayer.<init>(MediaPlayer.java:365)
at PokerApp.<init>(PokerApp.java:33)
at PokerApp.main(PokerApp.java:105)
Run Code Online (Sandbox Code Playgroud)
根据问题的原因,任何人都有任何想法吗?
据我了解,无论是DataSource和JdbcTemplates是threadsafe,那么您可以配置的一个实例JdbcTemplate,然后安全地注入该共享引用到多个DAO(或仓库).也DataSource应该是Spring单例,因为它管理连接池.
官方的Spring文档JdbcTemplate最佳实践解释了替代方案(手册的摘录用斜体,方括号之间的注释:
new JdbcTemplate(dataSource)]但是,稍后的说明会阻止刚刚提出的所有选项:
配置完成后,JdbcTemplate实例就是线程安全的.如果您的应用程序访问多个数据库(可能需要多个DataSource,以及随后多个不同配置的JdbcTemplates),您可能需要多个JdbcTemplate实例.
换句话说,刚才提出的所有选项都会导致有多个JdbcTemplate实例(每个DAO一个),并且在文档说明在使用单个数据库时不需要这样做.
我要做的是直接注入JdbcTemplate需要它的各种DAO,所以我的问题是,这样做是否可以?而且,您是否也认为Spring参考文档是自相矛盾的?还是我的误会?
在我的Java程序中.Hibernate Bean类定义了一个像..
TimtableVO.java
@Column(name="REPEAT_DAYS")
private WeekdayType repeatDays;//hear WeekdayType is Enum Class
Run Code Online (Sandbox Code Playgroud)
在我的服务类中,我使用这个TimetableVO.java bean类作为..
这是我的服务类:
public void createEvent(TimetableVO timetableVO) {
WeekdayType weekday = null;
for (String day : timetableVO.getTemp().split(",")) {
weekday = WeekdayType.valueOf(day);
}
timetableVO.setRepeatDays(weekday);
userDAO.createEvent(timetableVO);
}
Run Code Online (Sandbox Code Playgroud)
而我的DAO类我正在插入timetableVO对象..
public void createEvent(TimetableVO timetableVO) throws DataAccessException {
entityManager.persist(timetableVO);
}
Run Code Online (Sandbox Code Playgroud)
但是Exception会来......
Exception: Caused by: java.sql.BatchUpdateException: Data truncated for column 'REPEAT_DAYS' at row 1
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2045)
at coHibernate: insert into EC_TIMETABLE (CLASS_DURATION, COURSE_DURATION, COURSE_FEE, END_DATE, REPEAT_COUNT, REPEAT_DAYS, REPEAT_TYPE, SEARCH_KEY, START_DATE, S_ID) values (?, ?, ?, …Run Code Online (Sandbox Code Playgroud) 我正在使用 springboot 2.4.0,并添加了以下依赖项以启用 prometheus 指标:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
然后在我的 application.properties 我有以下属性
management.endpoints.web.exposure.include=*
management.metrics.enable.all=true
Run Code Online (Sandbox Code Playgroud)
我正在尝试运行一个简单的集成测试,以查看我的自定义指标出现在 /actuator/prometheus 端点上。代码下方
package com.example.demo;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.web.server.LocalServerPort;
import static io.restassured.RestAssured.given;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class IntegrationTest {
@LocalServerPort
private int port;
private String baseUrl;
@BeforeEach
public void setup() {
baseUrl = "http://localhost:" + port;
}
@Test
public void metricsEndpoint() throws Exception {
given().when().get(baseUrl + "/demo/actuator/prometheus")
.then()
.statusCode(200);
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里得到的错误是
java.lang.AssertionError: 1 expectation failed.
Expected status …Run Code Online (Sandbox Code Playgroud) java metrics spring-boot-actuator spring-boot-test spring-micrometer
美好的一天!
我有一个@Controller.它的一些方法抛出相同的异常,但我想以不同的方式处理这些异常.
有没有办法如何绑定@ExceptionHandler到特定的方法?
java ×7
spring ×3
freemarker ×1
guice ×1
hibernate ×1
java-8 ×1
javafx-2 ×1
jdbctemplate ×1
kill-process ×1
linux ×1
linux-kernel ×1
media-player ×1
memory ×1
metrics ×1
mysql ×1
servlets ×1
spring-mvc ×1