问题列表 - 第43649页

带有Tomcat DBCP的Spring JDBC和多个数据源

我使用spring有多个数据源(适应多个mysql dbs)和使用tomcat dbcp.我得到一些奇怪的例外,比如

  • 找不到过程 - 当proc肯定存在于db中时
  • 无法从池中借用 - 本地开发设置,所以游泳池肯定不满

我觉得可能是这个问题,需要大家的投入:

jdbcTemplate在我的spring.xml每个查询中定义了一个对象,我需要触发,我调用jdbcTemplate.setDataSource()设置适当的数据源然后simplejdbccall(jdbctemplate)用来执行proc.

我是否应该同时定义多个jdbcTemplate对象,即每个定义的数据源一个.我在其上设置数据源jdbctemplate并执行存储过程的bean 被定义为prototype.

java spring spring-jdbc multiple-databases

1
推荐指数
1
解决办法
4682
查看次数

如何加入子查询的第一行?

我有一张发票表和一张与钥匙有关的相关数据的子表.特别是,对于每个发票,我只对子表中的第一个相关行感兴趣.鉴于我希望每个发票密钥都有一个相关的行 - 我该如何做到这一点?

Select i.[Invoice Number],
       c.[Carrier Name]
From Invoice i
    Left Join Carriers c on i.[InvoiceKey] = c.[InvoiceKey]
Where -- what?
Run Code Online (Sandbox Code Playgroud)

我想在语义上讲,我正在寻找类似于概念的东西Top 1 c.CarrierName Group by InvoiceKey(或者如果在T-SQL中可能的话那将是什么概念.)

我考虑过在子查询上进行左连接,但这看起来效率不高.有没有人有任何T-SQL技巧来有效地实现这一目标?

编辑:对不起,伙计们,我忘了提到这是SQL Server 2000,所以虽然我将放弃当前SQL Server 2005/2008响应的投票,但我不敢接受它们.

t-sql sql-server sql-server-2000

23
推荐指数
1
解决办法
3万
查看次数

获取本地化路径的功能?

Windows 7(可能还有Windows Vista)使用文件中的LocalizedResourceName条目显示本地化的文件夹名称desktop.ini.对于我的Documents文件夹,这看起来像

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21770
IconResource=%SystemRoot%\system32\imageres.dll,-112
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-235
Run Code Online (Sandbox Code Playgroud)

(见这个问题)

这样,资源管理器在德语Windows上将路径"C:\ Users\Username\Documents"显示为"C:\ Benutzer\Username\Dokumente".

我想知道,如果有任何内置shell函数来自动获取这个本地化名称,或者更好的是,将整个路径转换为其本地化形式(最好是.NET中的任何内容)?

这更有趣,因为该LocalizedResourceName条目仅针对Windows CE进行了记录(请参阅此处).

谢谢

马丁

.net localization special-folders windows-vista windows-7

6
推荐指数
1
解决办法
2177
查看次数

最大内存映射分配大小?

我的系统:物理内存:3GB
Windows XP Service Pack 3(32位)交换文件大小:30gb

目标:找到我可以在我的机器上分配的最大可能内存映射大小.

当我运行以下代码来分配2gb内存映射文件时,调用失败.

手柄=的CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE | SEC_COMMIT,0,INT_MAX,NULL);

我一直很困惑,因为我可以通过不断地一次调用100mb的CreateFileMapping来分配一个内存映射文件,直到系统交换文件大小为30gb.

重新启动计算机后,重新运行请求2gb内存映射文件到CreateFileMapping的应用程序,它可以工作,并返回一个有效的句柄.所以这让我有点困惑,在窗户的引擎盖下到底是怎么回事?

所以情况就是这样,我可以使用所有系统页面文件(30gb)创建许多小内存映射文件,但是当要求单个分配2gb时,调用失败.重新启动机器并运行相同的应用程序时,呼叫成功!

一些注意事项:
1)内存映射文件没有加载到proccess虚拟地址空间,还没有查看该文件.
2)操作系统可以将小的100mb内存映射文件分配给30gb的系统页面文件!

现在我唯一可以得出的结论是,Windows XP SP3(32位)虚拟内存管理器无法在系统页面文件中成功保留所请求的2gb,然后由于系统内存碎片而失败(似乎它需要保留内存的连续分配,即使页面文件是4kb).重新启动后,我假设系统内存碎片较少,因此允许相同的调用成功并分配大小为2gb的内存映射文件.

我运行了一些实验,在运行机器一天后,我启动了一个小应用程序,它将分配一个300mb的内存载文件然后释放它.然后它将增加1mb的大小并再试一次.最后它停在700mb并报告(系统资源不足).然后我会通过并关闭每个应用程序,这将反过来停止错误消息,它最终继续分配大小为3.5gb的内存映射文件!

所以我的问题是这里发生了什么?虚拟内存管理器必须在内部发生某种类型的内存碎片,因为分配100mbs内存映射文件将消耗最多30gb的系统页面文件(提交限制).

更新
结论是,如果你要创建与INVALID_HANDLE_VALUE系统页面文件支持大内存映射文件,那么系统页面文件(交换文件)需要调整到所需要的尺寸,并在非支离破碎的状态大分配> 2gb!虽然在IO负载很重的情况下它仍然会失败.要解决所有这些问题,您可以创建自己的文件,其中包含所需的大小(我做了1tb)和内存映射到该文件.

最终更新
我在Windows 7机器上运行了相同的测试,令我惊讶的是它每次都可以工作(直到系统页面文件大小)而不会触及任何东西.所以我想这只是一个错误,大型内存分配在Windows XP上可能比Windows 7更频繁地失败.

c++ memory

7
推荐指数
1
解决办法
3691
查看次数

使用SQL Server Management Studio的SQL Azure数据库

我一直在努力研究是否可以使用SSMS这样的GUI来管理(即添加表,修改它们,创建存储过程)SQL Azure数据库,并且我不断遇到不同的答案.

我在2009年底发现了一篇帖子,说它会在SSMS中得到支持,但我不确定是否包含Express版本?有人知道快递版本的最新更新是什么以及它是否支持它?

我认为我说它在Visual Web Developer 2010中无法完成(而且我买不起全胖的VS2010).

我准备考虑替代方案,但是如果有人知道任何与SQL azure一起使用的完整功能GUI工具,并且我不介意支付商业许可证,如果它不是太昂贵.

谢谢.

sql sql-server azure-sql-database

8
推荐指数
1
解决办法
4113
查看次数

具有命名捕获组的正则表达式获取Ruby中的所有匹配项

我有一个字符串:

s="123--abc,123--abc,123--abc"
Run Code Online (Sandbox Code Playgroud)

我尝试使用Ruby 1.9的新功能"命名组"来获取所有命名的组信息:

/(?<number>\d*)--(?<chars>\s*)/
Run Code Online (Sandbox Code Playgroud)

是否有像Python这样的API findall返回一个matchdata集合?在这种情况下,我需要返回两个匹配,因为123abc重复两次.每个匹配数据都包含每个命名捕获信息的详细信息,因此我可以使用它m['number']来获取匹配值.

ruby regex

28
推荐指数
3
解决办法
2万
查看次数

通过基于项的属性对对象数组进行分组来构建哈希

我想知道在ruby 1.9中是否有更规范的方法可以做到这一点

我有一个包含大量对象的数组,我想使用数组中每个对象的属性将它们分组为Hash.

简单的例子:

> sh = {}
 => {} 
> aers = %w(a b c d ab bc de abc)
 => ["a", "b", "c", "d", "ab", "bc", "de", "abc"] 
> aers.each do |aer|
>     sh[aer.size] = [] if sh[aer.size].nil?
>     sh[aer.size] << aer
>   end
=> ["a", "b", "c", "d", "ab", "bc", "de", "abc"] 
> sh
 => {1=>["a", "b", "c", "d"], 2=>["ab", "bc", "de"], 3=>["abc"]} 
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它的输出是错误的(你可以看到):

 sh = Hash.new([])
 => {} 
> aers.each do |aer|
>     sh[aer.size] << …
Run Code Online (Sandbox Code Playgroud)

ruby arrays hash

18
推荐指数
1
解决办法
9164
查看次数

RSpec新手:"Update attributes => false"无法识别

刚开始使用RSpec.除了一个带有嵌套控制器的规范外,一切都很顺利.

我正在尝试确保当使用无效参数更新"评论"资源(嵌套在"帖子"下)时,它会呈现"编辑"模板.我很难让rspec识别出:update_attributes => false trigger.如果有人有任何建议,他们将非常感激.尝试过以下代码:

  def mock_comment(stubs={})
    stubs[:post] = return_post
    stubs[:user] = return_user
    @mock_comment ||= mock_model(Comment, stubs).as_null_object
  end

  describe "with invalid paramters" dog
    it "re-renders the 'edit' template" do
      Comment.stub(:find).with("12") { mock_comment(:update_attributes => false) }
      put :update, :post_id => mock_comment.post.id, :id => "12"
      response.should render_template("edit")
    end
  end
Run Code Online (Sandbox Code Playgroud)

和控制器:

  def update
    @comment = Comment.find(params[:id])
    respond_to do |format|
      if @comment.update_attributes(params[:comment])
        flash[:notice] = 'Post successfully updated'
        format.html { redirect_to(@comment.post) }
        format.xml  { head :ok }
      else
        format.html { render :action => "edit" } …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails-3

4
推荐指数
1
解决办法
1650
查看次数

有人可以解释这些java泛型方法的声明吗?

我正在阅读Gilad Bracha撰写的"Java编程语言中的泛型",我对一种声明风格感到困惑.以下代码位于第8页:

interface Collection<E> 
{ 
    public boolean containsAll(Collection<?> c); 
    public boolean addAll(Collection<? extends E> c); 
} 


interface Collection<E> 
{ 
    public <T> boolean containsAll(Collection<T> c);
    public <T extends E> boolean addAll(Collection<T> c); 
    // hey, type variables can have bounds too! 
} 
Run Code Online (Sandbox Code Playgroud)

我的困惑来自第二次宣言.我不清楚<T>声明在以下行中的用途是什么:

    public <T> boolean containsAll(Collection<T> c);
Run Code Online (Sandbox Code Playgroud)

该方法已经有一个与之关联的类型(布尔值).

为什么要使用它<T>以及它对编码器有什么作用?

我认为我的问题需要更具体一些.

你为什么要写:

  public <T> boolean containsAll(Collection<T> c);
Run Code Online (Sandbox Code Playgroud)

VS

  public boolean containsAll(Collection<T> c);
Run Code Online (Sandbox Code Playgroud)

<T>在containsAll的第一个声明中,我不清楚,目的是什么.

java generics declaration

9
推荐指数
1
解决办法
692
查看次数

使用Scala中的Option包装Java中的null返回方法?

假设我有一个方法,session.get(str: String): String但你不知道它是否会返回一个字符串或null,因为它来自Java.

有没有更简单的方法来处理Scala而不是session.get("foo") == null?也许有些魔法适用ToOption(session.get("foo")),然后我可以像Scala一样对待它

ToOption(session.get("foo")) match {
    case Some(_) =>;
    case None =>;
}
Run Code Online (Sandbox Code Playgroud)

java scala scala-option

92
推荐指数
3
解决办法
3万
查看次数