我有一个使用Spring开发的简单Web应用程序,最近我在数据库连接方面遇到了一些问题。我的数据库在MS SQL Server 2005上。
为了检索数据,我使用框架提供的JDBCTemplate类实现了几个DAO。
有时我会遇到以下异常:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.DataAccessResourceFailureException: StatementCallback; SQL [SELECT [Campaigns].[CampaignID],[CampaignCode],[CampaignType],[StartDate],[EndDate],[Status],[FirstUpdate],[LastUpdate],[FirstUpdateUserID],[LastUpdateUserID],[CampaignDescriptions].[Description] FROM [Campaigns] INNER JOIN [CampaignDescriptions] ON [Campaigns].[CampaignID] = [CampaignDescriptions].[CampaignID] ORDER BY [StartDate] DESC]; Connection reset by peer: socket write error; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: Connection reset by peer: socket write error
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Run Code Online (Sandbox Code Playgroud)
该异常似乎仅在执行报告的查询时才会发生。
我不明白是什么导致了这个问题。任何的想法?
执行查询的方法是:
@Transactional(propagation = Propagation.NEVER)
public Campaign[] getAll() {
List<Campaign> campList = getJdbcTemplate()
.query(BASE_QUERY,
new CampaignMapper());
return campList.toArray(new Campaign[0]);
}
Run Code Online (Sandbox Code Playgroud)
其中BASE_QUERY
是在异常消息是相同的。
我是Quartz的新手,现在我需要在Spring Web应用程序中安排一些工作.
我知道Spring + Quartz集成(我使用的是Spring v 3.1.1),但我想知道这是否是正确的方法.
特别是我需要将我的计划任务保存在数据库中,以便在重新启动应用程序时重新初始化它们.
Spring调度包装器是否提供了一些实用程序来执行此操作?你能告诉我一些"众所周知"的方法吗?
我已经尝试了这两段代码,但我两个都遇到了错误.下面附有两件作品和我得到的两个错误.如果发生这种情况,我将不胜感激.
例1
static List<String> list = new ArrayList<String>();
public static void main(String[] args) {
func(list);
}
private static void func(List<Object> lst) {
}
Run Code Online (Sandbox Code Playgroud)
错误:
The method func(List<Object>) in the type is not applicable for the arguments (List<String>)
例2
static List<Object> list = new ArrayList<Object>();
public static void main(String[] args) {
func(list);
}
private static void func(List<String> lst) {
}
Run Code Online (Sandbox Code Playgroud)
错误:
The method func(List<String>) in the type is not applicable for the arguments (List<Object>)
从@Column
注释文档中,我验证的nullable
属性具有true
默认值.
在我的实体定义中,我想将不可为空的列设置为默认行为,但我不想为每一列设置此列.
有没有办法全局更改nullable
属性(最终是其他)的默认值?
我最近在Spring Framework中发现了事件处理,并且我想了解该特定工具的功能和用例。
乍一看,它们似乎与Aspects非常相似,但也许我没有看到全局。
事件是AOP的替代还是基于AOP?在某些情况下,事件比方面更好吗?
我在我的 Web 应用程序中使用 Spring Boot 缓存支持,并将Caffeine设置为缓存提供程序。
我的项目中有几个缓存,大多数都有通用的配置,但是对于两个特定的缓存我需要设置不同的参数。
在我的application.properties
我有类似的东西:
spring.cache.cache-names=a-cache,b-cache,c-cache, ...
spring.cache.caffeine.spec=maximumSize=200,expireAfterWrite=3600s
Run Code Online (Sandbox Code Playgroud)
这适用于常见的缓存。然后我想用自定义参数扩展这个配置。
这篇文章解释了如何通过@Configuration
类配置缓存,但使用这种方法我完全覆盖了通用配置。
我需要的是这样的:
@Configuration
public class CacheConfiguration {
@Autowired
private CacheManager cacheManager;
@Bean
public CacheManager cacheManager(Ticker ticker) {
CaffeineCache c1 = new CaffeineCache("my-custom-cache", Caffeine.newBuilder()
.expireAfterWrite(10, TimeUnit.MINUTES)
.maximumSize(400)
.build());
// ...
cacheManager.setCaches(Arrays.asList(..., c1, ... )); // here I'd like to add custom caches...
return cacheManager;
}
}
Run Code Online (Sandbox Code Playgroud)
但是声明一个新的CacheManager
bean,“原始”cacheManager
不是自动装配的......
有没有办法实现我需要的?
我在src/main/resources文件夹中有一个application.properties.它有一个属性
username=myname
Run Code Online (Sandbox Code Playgroud)
我上课了
public class A
{
@Value("${username}")
private String username;
public void printUsername()
{
System.out.println(username);
}
}
Run Code Online (Sandbox Code Playgroud)
当我在我的main方法中调用printusername函数时,如下所示
public static void main(String[] args)
{
A object=new A();
object.printUsername();
}
Run Code Online (Sandbox Code Playgroud)
它打印为null.请有人告诉我我错过了什么?
我正在使用 Jekyll 创建我的个人博客 (davioooh.com) 并将其托管在 GitHub 页面上。
但最近我发现了一个奇怪的事情...
当推送/部署到我的存储库时,该博客sitemap.xml
包含两个额外的网址:
<url>
<loc>
http://davioooh.com/assets/javascript/anchor-js/docs/grunticon/preview.html
</loc>
<lastmod>2017-08-11T16:40:49+00:00</lastmod>
</url>
<url>
<loc>
http://davioooh.com/assets/javascript/anchor-js/docs/index.html
</loc>
<lastmod>2017-08-11T16:40:49+00:00</lastmod>
</url>
Run Code Online (Sandbox Code Playgroud)
我不明白为什么......我没有使用任何anchor-js gem 或插件......
_config.yml
my和中声明的唯一宝石Gemfile
是:
gems:
- jekyll-feed
- jekyll-seo-tag
- jekyll-paginate
- jekyll-sitemap
Run Code Online (Sandbox Code Playgroud)
那么为什么我会得到这些网址呢?
注意:当我在我的开发机器上本地测试站点时,站点地图是正确的。
注意:我使用的是自定义主题(常规主题,不是基于 gem 的)。我的_config.yml
. 在这里您可以找到我的博客存储库:https ://github.com/davioooh/davioooh.github.io
更新尝试按照marcanuyjekyll
的建议将gem替换github-pages
为 my 。它在本地工作,但在新的推送站点地图之后仍然包含额外的网址......Gemfile
更新发现 GitHub 页面参考列出了 Jekyll 网站的默认参数。正如预期的那样,默认主题是jekyll-theme-primer
. 如果我不使用基于 gem 的主题,如何覆盖此设置?
我需要在我的开发机器上运行一个SQL Server(Express)实例来使用Web应用程序.
我最近开始使用Docker,我想知道使用Microsoft SQLServer Docker镜像是否有一些优势,而不是简单地在我的机器上安装SQL Server.
我正在研究Win10机器.
如果我有 2 条信息相同但大写和小写 NAME 不同的记录,我想显示不同的记录,我该怎么做?我试图在下面的查询中使用 distinct ,但它显示了两条记录 :( 抱歉,我是 SQL 编码的新手 :(
SELECT distinct
R.NAME,
R.EXPIRY_DATE,
R.CATEGORY
FROM REALTIME_EXEMPT R
WHERE
R.SUBMITTED_BY='ADMIN'
Run Code Online (Sandbox Code Playgroud)
提前致谢,
雷亚
java ×7
spring ×5
jdbc ×2
spring-boot ×2
annotations ×1
caffeine ×1
collections ×1
docker ×1
events ×1
generics ×1
github ×1
github-pages ×1
jdbctemplate ×1
jekyll ×1
jekyll-theme ×1
jpa ×1
oracle ×1
oracle10g ×1
oracle11g ×1
orm ×1
persistence ×1
rdbms ×1
spring-mvc ×1
sql ×1
sql-server ×1