我使用DMG存档下载并安装了适用于OS X 10.6的MySQL 5.1.47:
mysql-5.1.47-osx10.6-x86_64.dmg
Run Code Online (Sandbox Code Playgroud)
我也安装MySQL.prefPane和MySQLStartupItem.pkg.MySQL.prefPane是一个偏好窗格.问题是,每当我尝试从Preference窗格启动/停止MySQL时,系统首选项就会挂起.它永远运行在大约50%的CPU,最终我有强制退出系统偏好.如果我切换"在启动时自动启动MySQL服务器",也会发生同样的事情.基本上MySQL偏好窗格不起作用.
请注意,从命令行启动MySQL没有问题:
sudo /usr/local/mysql/bin/mysqld_safe
Run Code Online (Sandbox Code Playgroud)
我已经尝试重新安装MySQL和Preference Pane.我正在使用标准的安装位置,没什么特别的.每次MySQL Preference窗格都挂起.
我在运行OS X 10.6.3的Macbook Pro(Intel)上这样做.这台机器上没有旧版本的MySQL.
后续行动:嗯现在是2012年1月,所以我想我会检查一下是否已修复.我在OS X 10.6.8上尝试了最新的MySQL 5.5.20并且它仍然被破坏 - 同样的行为,它只是挂起(必须强制退出).我尝试了Jamie Wong和carloandaya的建议,两者都没有用.
我正在使用Spring + JPA + Hibernate.我正在尝试启用Hibernate的二级缓存.在我的春天,applicationContext.xml我有:
<prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.SingletonEhCacheProvider</prop>
<prop key="hibernate.cache.provider_configuration_file_resource_path">/ehcache.xml</prop>
Run Code Online (Sandbox Code Playgroud)
当我运行时,我收到错误:
Caused by: org.hibernate.HibernateException: Could not instantiate cache implementation
at org.hibernate.cache.CacheFactory.createCache(CacheFactory.java:64)
Caused by: org.hibernate.cache.NoCachingEnabledException: Second-level cache is not enabled for usage [hibernate.cache.use_second_level_cache | hibernate.cache.use_query_cache]
at org.hibernate.cache.NoCacheProvider.buildCache(NoCacheProvider.java:21)
Run Code Online (Sandbox Code Playgroud)
所以它抱怨我没有启用二级缓存.我试图通过添加到我的启用它applicationContext.xml:
<prop key="hibernate.cache.use_second_level_cache">true</prop>
Run Code Online (Sandbox Code Playgroud)
但仍然没有快乐.我也尝试将其添加到我的ehcache.xml中:
<property name="hibernate.cache.use_second_level_cache">true</property>
Run Code Online (Sandbox Code Playgroud)
但它仍然无效.更改provider_class为org.hibernate.cache.EhCacheProvider也无济于事:
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
Run Code Online (Sandbox Code Playgroud)
我的实体类被注释为使用缓存
@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
Run Code Online (Sandbox Code Playgroud)
那么,我如何启用二级缓存?
编辑: 这是在bean下:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
Run Code Online (Sandbox Code Playgroud)
已解决:因为我正在使用LocalEntityManagerFactoryBean它从中获取其设置META-INF/persistence.xml.我的设置applicationContext.xml甚至没有被阅读.
在Java中,是否可以声明其类型为多个接口的字段/变量?例如,我需要声明一个Map也是Serializable.我想确保变量引用可序列化的映射.该Map接口不延长Serializable,但大部分Map的实现是Serializable.
我很确定答案是否定的.
后续:我充分意识到创建同时扩展新的界面Map和Serializable.这不起作用,因为现有的实现(例如HashMap)不实现我的新接口.
我有一个java应用程序运行得很好(在Ubuntu 10.04上)几个小时,直到它命中"java.net.SocketException:太多打开的文件".Sender.java的代码可以在这里找到
难道是因为我创造的一个新实例HttpPut,并HttpPost为每个线程?我正在使用apache-commons HTTPClient 4.
这是异常日志:
java.net.SocketException: Too many open files
at java.net.Socket.createImpl(Socket.java:414)
at java.net.Socket.connect(Socket.java:544)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:123)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:133)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:108)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554)
at com.marketplace.io.Sender.doBasicHttpPost(Sender.java:434)
at com.marketplace.io.Sender.appVisualExists(Sender.java:223)
at com.marketplace.io.Sender.addVisualToCollection(Sender.java:350)
at com.marketplace.service.ImageThread.run(ImageThread.java:136)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Run Code Online (Sandbox Code Playgroud) 使用Google Guava(Google Commons),有没有办法将两个大小相同的列表合并到一个列表中,新列表包含两个输入列表的复合对象?
例:
public class Person {
public final String name;
public final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String toString() {
return "(" + name + ", " + age + ")";
}
}
Run Code Online (Sandbox Code Playgroud)
和
List<String> names = Lists.newArrayList("Alice", "Bob", "Charles");
List<Integer> ages = Lists.newArrayList(42, 27, 31);
List<Person> persons =
transform with a function that converts (String, Integer) to Person
System.out.println(persons);
Run Code Online (Sandbox Code Playgroud)
输出:
[(Alice, 42), (Bob, 27), (Charles, 31)]
Run Code Online (Sandbox Code Playgroud) 我想获取使用此解决方案并在此处搜索的以太网卡的MAC(用于产品密钥),问题是当所有网络(以太网和wifi)断开连接时,它返回空的MAC地址。我宁愿获得以太网地址,即使它已断开连接也是如此。
谢谢!!
public static void main(String[] args)
{
InetAddress ip;
try {
ip = InetAddress.getLocalHost();
System.out.println("The mac Address of this machine is :" + ip.getHostAddress());
NetworkInterface network = NetworkInterface.getByInetAddress(ip);
byte[] mac = network.getHardwareAddress();
System.out.print("The mac address is : ");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length; i++){
sb.append(String.format("%02X%s", mac[i],(i< mac.length - 1)?"-":""));
}
System.out.println(sb.toString());
}
catch (UnknownHostException e) {
e.printStackTrace();
}
catch (SocketException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想让Jetty记录所有HTTP请求(以及正文)和响应.这是Jetty原生支持的吗?理想情况下,它会记录到我现有的log4j日志文件中.
我正在运行Jetty 6.
在Swift中,它是如何AnyObject支持下标的,即使对于不可下载的类型也是如此?例:
let numbers: AnyObject = [11, 22, 33]
numbers[0] // returns 11
let prices: AnyObject = ["Bread": 3.49, "Pencil": 0.5]
prices["Bread"] // returns 3.49
let number: AnyObject = 5
number[0] // return nil
let number: AnyObject = Int(5)
number[0] // return nil
Run Code Online (Sandbox Code Playgroud)
然而,如果我number被声明为Int那么这是一个语法错误:
let number: Int = 5
number[0] // won't compile
Run Code Online (Sandbox Code Playgroud)
有趣的是,Any没有下标支持.
在迭代时是否有一种Groovy方法来删除Collection的项目?在Java中,这是使用来完成Iterator.remove():
Collection collection = ...
for (Iterator it=collection.iterator(); it.hasNext(); ) {
Object obj = it.next();
if (should remove) {
it.remove();
}
}
Run Code Online (Sandbox Code Playgroud)
Groovy是否在其语言语法中提供了迭代删除,或者我是否使用过Iterator.remove()?