ข้ามไปที่เนื้อหาหลัก

Alfresco Share กับ Error Too many open files

หากใครใช้ Alfresco Share บางที่จะพบว่า หากกดลิงค์ต่างๆ เร็วๆ ไปสักพักจะเจอหน้า Error ซึ่งจาก Error ที่หน้าเว็บฟ้องจะไม่บ่งบอกว่าเกิดอะไรขึ้น เพราะตัวเว็บนั้นจะเรียก Web Script จาก Alfresco RESTful WebService อีกทีนึง สาเหตุที่แท้จริงของ Error นี้คือ ตัว lucene ซึ่งเป็น Engine ที่ทำการ Index file แม้ว่าตัว lucene 2.0 จะแก้ให้เกิดปัญหานี้น้อยลงแล้วก็ตาม แต่เราก็ยังพบปัญหาอยู่

วิธีแก้ไข
ให้เราไปเพิ่ม limit ของการเปิดไฟล์ให้มากขึ้น ตัวอย่างเช่นใน ubuntu ใช้คำสั่ง
ulimit -n
ด้วย user ที่รัน alfresco พบว่าค่าเริ่มต้นที่ระบบตั้งให้คือ 1024 ซึ่งไม่เพียงพอ ให้เราไปเพิ่มในไฟล์
/etc/security/limits.conf ดังนี้
<username> soft nofile 4096
<username> hard nofile 65536
สมมติว่าผมใช้ user เป็น seven ในการ login เข้า shell จึงเพิ่มเป็น
seven soft nofile 4096
seven hard nofile 65536
ให้ทำการ logout และ login อีกรอบแล้วพิมพ์คำสั่ง ulimit -n อีกครัง จะพบว่าค่าที่ตอบกลับมาคือ 4096 ตามที่เราตั้งไว้

เป็นอันว่าเรียบร้อยแล้วสำหรับการแก้ปัญหาที่ error ไม่ทราบสาเหตุจาก alfresco share

Tips
error นั้นจะปรากฏใน tomcat/logs/catalina.out เราจะไม่พบใน alfresco.log

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

หมดหวังกับรายการทีวีในประเทศไทย

ไม่ได้เขียน Blog มานานสกิลด้านเขียนไม่รู้จะยังดีเหมือนเดิมมั้ยนะครับ (หัวข้อก็จะ clickbait  ตามแนว Content ยุคใหม่) จริงๆ แล้ว คิดจะเขียนมาตั้งนานแล้วแต่ไม่รู้จะเขียนอะไร พอดีวันนี้อ่านเจอโพสต์ของเพื่อนในเฟสบุ๊คที่แชร์มา หัวข้อประมาณว่า ประเทศไทยมีความพยายามทำให้คนโง่ลง คือผมก็ติดตามข่าวมาเรื่อยๆ ช่วงไปอยู่จีนก็ยังติดตามอยู่ แต่มีความรู้สึกว่าข่าวของประเทศเรากับประเทศจีนนี่คือคนละขั้วเลย ที่จีนข่าวส่วนใหญ่จะเป็นข่าวที่ค่อนข้างมีสาระ และไม่มีข่าวงมงาย น่าจะเนื่องมาจากกฎหมายของประเทศไทยที่ค่อนข้างคุมเข้มกับสื่อ ย้อนกลับมาที่ไทย ประเทศเราไม่มีกฎหมายคุมเข้มสื่อเหมือนประเทศจีนขนาดนั้น สื่อประเทศเราค่อนข้างมีอิสระในการนำเสนอ แต่หลังๆ มานี่ผมเห็นแต่ข่าวอาชญากรรม หรือข่าวให้หวยซะส่วนใหญ่ ก็เข้าใจว่าต้องการยอดผู้ชม แต่การที่สื่อนำเสนอแบบนั้นนี่ไม่แน่ใจว่าจะดีต่ออนาคตประเทศชาติหรือไม่นะครับ คนดูข่าวเพื่อจะรอเลขเอาไปซื้อหวย ไม่แน่ใจว่าสนใจอะไรมากกว่าระหว่างหวยกับข่าว ตอนจะมีกฎหมายหวยออนไลน์ก็เห็นออกมาต่อต้านบอกมอมเมาประชาชน แต่สิ่งที่สื่อกำลังนำเสนออยู่นั้นมันย้อนแย้งในตัวเองชอบกล...

Alfresco กับการ Search ภาษาไทย

เนื่องด้วยการ Search ถือเป็นหัวใจสำคัญของงาน ECM เลยก็ว่าได้ แต่ Alfresco ณ ปัจจุบันยังไม่รองรับการ Search ด้วยภาษาไทย แต่อย่างว่า Opensource เมื่อเรารู้ว่ามันใช้ Lucene เป็น engine ในการค้นหาเอกสาร เราก็เลยแงะไปยังตัว lucene เองพบว่ามีคนส่ง Patch ในการตัดคำไทย ไปให้กับ lucene เรียบร้อยแล้ว โดยคุณสัมพันธ์นั่นเอง วิธีการ Config ให้ Alfresco ตัดคำไทยได้ผมสรุปออกมาเป็นขั้นตอนได้ดังนี้ครับ ไปเพิ่ม Locale ให้ Alfresco รู้จัก ใน tomcat/shared/classes/alfresco/extension/web-client-config-custom.xml ตรง tag <languages> เพิ่ม <language locale="th_TH">Thai</language> เข้าไป directory: tomcat/webapps/alfresco/WEB-INF/classes/alfresco/model แล้วทำการ copy file dataTypeAnalyzers_fr.properties หรือไฟล์อื่นก็ได้ เปลี่ยนชื่อเป็น dataTypeAnalyzers_th.properties แล้วเปิดไฟล์ขึ้นมาแก้ไขให้เป็น d_dictionary.datatype.d_text.analyzer=org.apache.lucene.analysis.th.ThaiAnalyzer d_dictionary.datatype.d_content.analyzer=org.apache.lucene.analysis.th.ThaiAnalyzer หลังจากนั้นเมื่อทำการ...

Alfresco ECM

ความแตกต่างของ ECM(Enterprise Content Management) กับ CMS(Content Management System) อาจดูแล้วคล้ายๆ กัน แต่มันแตกต่างกันอย่างไร ตัว CMS นั้นมีไว้สำหรับจัดการ Content ที่เหมาะกับการแสดงให้เห็นแบบ Public ส่วน ECM นั้นจะเน้นการใช้งานเกี่ยวกับการจัดการเอกสารภายในองค์กร โดยที่เราก็สามารถแสดงให้บุคคลนอกเห็นได้ด้วยเช่นกัน Alfresco เป็น ECM ตัวนึงที่ผมกำลังศึกษาอยู่ โดยตัวผู้บริหารนั้นเป็นคนเดียวกับที่เป็นผู้บริหารของ Documentum เพราะฉะนั้นการันตีได้ว่า Alfresco นั้นสามารถใช้งานในองค์กรได้อย่างดี และข้อดีอีกอย่างของ Alfresco คือเป็น Opensource ครับ เนื่องจากเปิด Source ทำให้เราสามารถแก้ไขฟังก์ชั่นการทำงานต่างๆ ได้ดี ตัวระบบของ Alfresco นั้นพัฒนามาจาก Spring และ JSF เป็นหลัง โดยสนับสนุน RESTful หรือ Web Service เป็นส่วนใหญ่ นอกจากนี้เรายังสามารถเขียน JavaScript เพื่อทำงานแบบ RESTful ได้อีกตัว โดยตัว JavaScript นั้นรันอยู่บน Rhino Runtime ซึ่งเป็น Engine ของ JavaScript บนฝั่ง Server การ Config ส่วนใหญ่จะอยู่ในรูปของ XML เพราะเป็นส่วนการประกาศ Bean ของ Spring นั่นเอง ทำให้เราสามารถทำการ Override...