我们有一对Oracle服务器,它们被设置为集群中的节点(如果我的术语已经过时,我会道歉).在我的tnsnames.ora文件中,我们有一个看起来像的条目
EXAMPLE.GOV =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 1.2.3.4)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 1.2.3.5)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = example.gov)
)
)
Run Code Online (Sandbox Code Playgroud)
这与我使用该tnsnames.ora文件的程序连接时有效.但是,我也有一个Java程序,它使用oracle.jdbc.pool.OracleDataSource类来建立连接
public static Connection connect() throws Exception {
OracleDataSource ods = new OracleDataSource();
ods.setDriverType("thin");
ods.setServerName("1.2.3.4");
ods.setDatabaseName("example");
ods.setPortNumber(1521);
ods.setUser("scott");
ods.setPassword("tiger");
return ods.getConnection();
}
Run Code Online (Sandbox Code Playgroud)
它只是直接连接到其中一个节点.我想改为使用负载平衡tnsnames.ora方法,它使用负载平衡或任何连接到其中一个节点的任何东西,这样如果其中一个节点关闭,那么它将自动连接到另一个节点.
由于我只有两个节点,我可以轻松地尝试打开与第一个节点的连接,然后如果不起作用则打开与第二个节点的连接.但是,我想知道是否有更正确的方法来做到这一点.
我看到有一个setTNSEntryName参数,但由于我tnsnames.ora在一个非标准的地方,我需要设置TNS_ADMIN环境变量,我不确定我甚至可以在Java中做什么.我也不确定这在任何情况下都会有效.
有谁知道如何从Java程序连接到Oracle节点集群?
我想出了这个实现groupBy:
object Whatever
{
def groupBy[T](in:Seq[T],p:T=>Boolean) : Map[Boolean,List[T]] = {
var result = Map[Boolean,List[T]]()
in.foreach(i => {
val res = p(i)
var existing = List[T]() // how else could I declare the reference here? If I write var existing = null I get a compile-time error.
if(result.contains(res))
existing = result(res)
else {
existing = List[T]()
}
existing ::= i
result += res -> existing
})
return result
}
}
Run Code Online (Sandbox Code Playgroud)
但对我来说,它似乎不是很 scalish(这是我要找的词吗?)。您能否提出一些改进建议?
编辑:在我收到关于折叠的“提示”后,我以这种方式实现了它:
def groupFold[T](in:Seq[T],p:T=>Boolean):Map[Boolean,List[T]] = {
in.foldLeft(Map[Boolean,List[T]]()) ( …Run Code Online (Sandbox Code Playgroud) 我在Emacs中看到了JDEE的许多不错的功能.然而,安装似乎有点涉及,特别是在Windows中,所以我想看看其他人是否认为它有用.我使用Eclipse和NetBeans,这些产品有一些不错的功能.但是,我非常喜欢在我的IDE中内置一个像Lisp这样的脚本语言的想法,因此我可以即时更改大多数功能.
所以我想给JDEE一个机会,但我从一个以上的高级Emacs用户那里听说他们甚至不需要JDEE.我想知道这些人是否尝试过JDEE,或者他们是否只是在做简单的Java项目.有人试过JDEE并喜欢它吗?Emacs中是否有使JDEE毫无意义的功能?请不要"尝试Eclipse"评论..我已经使用它并且它具有很好的功能,但我想给Emacs一个公平的镜头.
更新:看到我接受的答案.我尝试了JDEE一段时间但是放弃了eclipse并且从未回头.从此以后快乐地生活着.
我正在寻找一种从视图中选择字段的优雅方式,其中第二个支持表定义了应该选择的字段.
该视图包含我的所有员工数据.约束表包含引用视图字段名称的字段名称,以及表示选择该字段的位.
视图示例:
Name | Age | Weight
Peter | 38 | 180
Martha | 25 | 115
Run Code Online (Sandbox Code Playgroud)
约束表的示例:
Field | Enabled
Name | 1
Age | 0
Weight | 1
Run Code Online (Sandbox Code Playgroud)
...运行查询后,应返回以下数据:
Name | Weight
Peter | 180
Martha | 115
Run Code Online (Sandbox Code Playgroud)
关于如何处理这个的任何想法?
谢谢!
我被卡住了!
我正在尝试创建自定义模式对话框.我希望它使用块作为完成处理程序与NSSavePanel类似地执行.
我只复制了我认为需要的重要片段.
@implementation ModalWindowController
- (void)makeKeyAndOrderFront:(id)sender
modalToWindow:(NSWindow*)window
sourceRect:(NSRect)rect
completionHandler:(void (^)(NSInteger result))handler {
_handler = [handler retain];
session = [NSApp beginModalSessionForWindow:[self window]];
[[NSApplication sharedApplication] runModalSession:session];
[[self window] makeKeyAndOrderFrontCentered:self expandingFromFrame:rect];
}
- (IBAction)okButtonPressed:(id)sender {
[[self window] orderOut:self];
_handler(NSOKButton);
[NSApp endModalSession:session];
}
@end
Run Code Online (Sandbox Code Playgroud)
现在我可以使用代码调用它:
[self.modalWindowController makeKeyAndOrderFront:self
modalToWindow:[[self view] window]
sourceRect:sr
completionHandler:^(NSInteger result) {
NSLog(@"Inside Block");
if ( result == NSOKButton ) {
// do something interesting here
}
}];
NSLog(@"Errg");
Run Code Online (Sandbox Code Playgroud)
但是,在方法makeKeyAndOrderFront之后一切顺利:modalToWindow:sourceRect:completionHandler:已经完成它不会阻塞线程,因此即使用户没有选择"ok"或"cancel",也会打印"Errg".此时显示模态窗口,用户单击"确定",然后执行_handler块.但是,如果我尝试访问块中的局部变量,并且应用程序崩溃,因为所有内容已经清理干净.
从makeKeyAndOrderFront:...方法阻止主线程的最佳方法是什么?这是使用块实现完成处理程序的正确方法吗?
我用多种文件格式编写/修改代码,如perl,html,css,php,javascript,autohotkey脚本,等等.
我经常在我的个人源代码库中搜索语法或复杂逻辑的示例,以便在新代码中重用.或者,我将在目录树中搜索特定字符串的代码引用(例如,对perl,php,html和javascript中的特定css样式的所有引用).有时我甚至会搜索像=〜这样的神秘字符串,因为我在我的一个perl程序中搜索特定的正则表达式.
有时我使用copernic搜索现有代码,但不幸的是它只能搜索单词并自动忽略任何编程语法.Windows 7文件搜索似乎比Windows XP文件搜索更糟糕.
我的问题是......你如何搜索自己的源代码库?
我正在编写SNMP代理.我需要将具有小数点的值发送到SNMP管理器.
我有几个选择:
如果我截断数字,我会丢失很多我需要的信息.
如果我乘以常数,那么管理器将显示最终用户不愿看到的奇怪单位.(克而不是千克).
所以,我正在做选项3.我该怎么办?
是否有任何编程库可以解析HTML文档,执行JavaScript然后允许我导航DOM?这需要在服务器端执行,而不是在客户端执行.任何语言都可以,但Java,PHP或Ruby是首选.
这是一个古老的问题,但我仍然遇到麻烦.你看,我正在尝试将一些Excel数据粘贴到文本区域,但是这些愚蠢的浏览器在执行此操作时会长时间冻结,因为上帝知道他们做了什么"聪明"的解析.我无法摆脱它(文件上传是不可能的,我的老板希望我在文本区域中粘贴Excel中的行).
好消息是粘贴在标准文本框WORKS中.但我不能强迫他们粘贴那里.所以我试图捕获文本区域中的粘贴事件,然后将文本扔到文本框中.不幸的是,我在粘贴部分停了下来.我无法通过JS将文本粘贴到简单的文本框中.
所以我的问题是:如何粘贴文本,如何通过JS调用它?有一些解决方案只能在IE中运行,当然不是很好:) - ).
我在过去的两年里一直在使用MVVM,从那时起它肯定已经发展得更好了.当我阅读数百篇MVVM文章和stackoverflow问题时,我注意到似乎有越来越多的文章将view/viewmodel关系和创建描述为ViewModel优先或View优先.这些文章通常使用IoC或DI.
我最喜欢的技术是使用datatemplates来创建视图,并从视图模型而不是视图中构建应用程序.我很少看到使用这种模式的文章.
<DataTemplate DataType="{x:Type ViewModels:DummyViewModel}">
<Views:DummyUserControl DataContext="{Binding}"/>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
可测试性和解耦似乎是这些"非数据模板"V-VM创建/关系设计和文章的主要焦点,通常它们与MEF或PRISM有关.最后,我想知道以下内容:
如果不与MEF/PRISM相关,那么对于涵盖这些主题的文章的任何良好链接都表示赞赏.
java ×3
javascript ×2
browser ×1
clipboard ×1
cocoa ×1
copy-paste ×1
eclipse ×1
emacs ×1
jdbc ×1
modal-dialog ×1
mvvm ×1
objective-c ×1
oracle ×1
php ×1
ruby ×1
scala ×1
snmp ×1
sql-server ×1
t-sql ×1
wpf ×1